第一范文网 - 专业文章范例文档资料分享平台

C语言综合习题及答案

来源:用户分享 时间:2025/5/15 11:32:04 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

A)循环控制表达式的值为1 B)循环控制表达式的值为0 C)循环控制表达式不合法 D)以上说法都不对 38.有如下程序

main()

{ char ch[2][5]={“6937”,”8254”},*p[2]; int i,j,s=0;

for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++)

for(j=0;p[i][j]>’\\0’;j+=2) s=10*s+p[i][j]-‘0’; printf(“%d\\n”,s); }

该程序的输出结果是【C】。

A) 69825 B) 63825 C) 6385 D) 693825 39.下面程序的输出是【B】

main()

{ int num=0; while(num<=2) { num++;

printf(\

A) 1 B) 1 C) 1 D) 1

2 2 2 3 3 4

40以下能正确定义一维数组的选项是【B】

A)int a[5]={0,1,2,3,4,5};

B)char a[]={'0',’1’,’2’,’3’,’4’,’5’,’\\0’}; C)char a={'A’,’B’,’C’}; D)int a[5]=\

41.若有如下定义和语句,且0<=i<5,下面【A】是对数值为3数组元素的引用

int a[]={1,2,3,4,5},*p,i; p=a;

A)*(a+2) B)a[p-3] C)p+2 D)a+3 42.下列【B】表达式的值为真

a=5; b=8; c=10; d=0

A)a*2>8+2 B)a&&d C)(a*2-c)||d C)a-b

A) char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};

B) char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\\0’}; C) char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’}; D) char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\\0’ } 44.执行下列程序后,其结果为【D】

int a[]={2,4,6,8,10,12}; *p; p=a;

编辑版word

*(p+4=2;

printf(“%d,%d\\n”,*p,*(p+4));

A)0,10 B)0,2 C)2,10 D)2,2

45.有下列结构体,对该结构体变量stu的成员项引用不正确的是【D】 struct student { int m; float n; } stu ,*p;

A. stu.n B)p->m C)(*p).m D)p.stu.n 46.下列函数中不能用于对文件进行输入输出操作的是【B】

A)fscanf( ) B)printf( ) C)fgetc( ) D)fputs( )

47.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是【B】。

A)\ B)\ C)\ D)\

48..若fp是指向某文件的指针,文件操作结束之后,关闭文件指针应使用下列【D】语句

A)fp=fclose(); B)fp=fclose; C)fclose; D)fclose(fp);

二、程序填空题

1.以下程序实现了计算x的n次方,请将程序填写完整。 float power(float x,int n) { int i; float t=1;

for(i=1;i<=n;i++) t=t*x;

;【return t】 } main( )

{ float x,y; int n; scanf(\ y=power(x,n); printf(\ }

2.以下程序实现了求两个数的最大公约数,请将程序填写完整。

int divisor(int a,int b) { int r; r=a%b;

while( )【r!=0】 { a=b;b=r;r=a%b;} return b; }

void main() { int a,b,d,t;

scanf(\

编辑版word

if (a

{ t=a; a=b; b=t; } d=divisor(a,b);

printf(\ }

3. 给定程序中,函数fun的功能是:找出100至x(x≤999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

#include int fun(int x)

{ int n, s1, s2, s3, t; n=0;

;【t=100】 while(t<=999)

{ s1=t; s2=(t/10); s3=t/100; if( )【s1+s2+s3==15】 { printf(\ n++; }

___ _; }【t++】 return n;} main()

{ int x=-1;

while(x>999||x<0)

{ printf(\ scanf(\ }

printf(\ );} 【fun(x)】 4.输入 N个实数,输出其中的最大值、最小值。

#include

void main( ) { int n,i;

float no1,nmax,nmin; scanf(\

nmax=no1; nmin=no1; for(i=2;i<=n;i++) {

scanf(\ ); 【&no1】 if(no1>nmax) nmax=no1; ; 【if(no1

printf(\ MIN=%f\\n\ }

5.输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。

编辑版word

#include #include void main( ) { int s1=0,s2=0;

char ch;

while(( )!='\\n') 【ch=getchar()】 {

if(ch>='0'&&ch<='9') s1++;

if(ch>='a'&&ch<='z' || ) s2++; 【ch>='A'&&ch<='Z'】 }

printf(\ }

6.以下程序功能是输入10门成绩,实现成绩的升序排列并输出,请在程序的下划线处填入正确的内容, 使程序得出正确的结果。

#include main(){ for(i=0;i<10-1;i++) { ; 【k=i】 for(j=i+1;j<10;j++) { if(score[k]>score[j]) { ; 【k=j】 } } t=score[k]; score[k]= ; 【score[i] 】 =t; 【score[i] 】 } printf(\成绩输出\\n\ for(i=0;i<10;i++) {

printf(\ } printf(\

7. 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到

大的顺序排列,函数返回删除后数组中数据的个数。请将程序填写完整。 例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。

#include #define N 80

int fun(int a[], int n) { int i,j=1;

编辑版word

搜索更多关于: C语言综合习题及答案 的文档
C语言综合习题及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c12xte0eejs5o77k30e8m0fvqu4yw9b00pay_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top