常熟理工学院 c语言题库 联系客服

发布时间 : 星期二 文章常熟理工学院 c语言题库更新完毕开始阅读b8cd8722ab8271fe910ef12d2af90242a995ab43

若有数组a和b的声明“static char a[]= \'a', 'b', 'c', 'd', 'e', 'f'};”则数组a和数组b的长度分别是(A)。

A.7,6 B.6,7 C.6,6 D.7,7

己有声明“int a[10]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9},*p=a;”,则不能表示数组a中元素的是(D)。

A.*p B.a[6] C.*a D.p[a]

C语言中,下列属于构造类型的是(D)。

A.整型 B.实型 C.指针类型 D.结构体类型 若有枚举类型定义“enum vari{A1, A2, A3, A4=6, A5, A6};”,则枚举常量A2和A6代表的值分别是(B)。

A.1,6 B.1,8 C.2,6 D.2,8 下面叙述错误的是(C)。

A.宏替换不占用程序运行时间 B.宏名无类型

C.宏名必须用大写字母表示 D.宏替换只是字符替换 已有定义“int a[2][3]={1, 2, 3, 4, 5, 6};”,则下列表达式中不能正确引用值为5的数组元素的是(C)。

A.*(a[0]+4) B.*(a[1]+1) C.*(*(a+3)+1) D.*(*a+4)

若只允许对数据文件做一次打开文件操作,修改其中的数据,则打开文件语句应为“fp=fopen(\”。

A.\ B.\C.\D.\ 以下叙述中正确的是

A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整

以下选项中,能用作用户标识符的是 A)void B)8_8 C)_0_

D)unsigned 阅读以下程序 #include main()

{ int case; float printF; printf(“请输入2个数:”);

scanf(“%d %f”,&case,&pjrintF); printf(“%d %f\\n”,case,printF); }

该程序编译时产生错误,其出错原因是

A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值 表达式:(int)((double)9/2)-(9)%2的值是 A)0

B)3 C)4 D)5

若有定义语句:int x=10;,则表达式x-=x+x的值为 A)-20 B)-10 C)0 D)10 有以下程序 #include main()

{ int a=1,b=0;

printf(“%d,”,b=a+b); printf(“%d\\n”,a=2*b); }

程序运行后的输出结果是 A)0,0 B)1,0 C)3,2 D)1,2

设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 有以下程序 #include main()

{ int c=0,k;

for (k=1;k<3;k++) switch (k)

{ default: c+=k case 2: c++;break; case 4: c+=2;break; }

printf(“%d\\n”,c); }

程序运行后的输出结果是 A)3 B)5 C)7 D)9

以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A)if((a>b)&&(b>c)) k=1;

else k=0;

B)if((a>b)||(b>c) k=1; else k=0;

C)if(a<=b) k=0; else if(b<=c) k=1; D)if(a>b) k=1; else if(b>c) k=1; else k=0; 20)有以下程序 #include main()

{ char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++)

if(s[i]>=’a’&&s[i]<=’z’) n++; printf(“%d\\n”,n); }

程序运行后的输出结果是 A)0 B)2 C)3 D)5

有以下程序 #include main()

{ int n=2,k=0;

while(k++&&n++>2);

printf(“%d %d\\n”,k,n); }

程序运行后的输出结果是 A)0 2 B)1 3 C)5 7 D)1 2

有以下定义语句,编译时会出现编译错误的是 A)char a=’a’; B)char a=’\\n’; C)char a=’aa’; D)char a=’\\x2d’; 有以下程序 #include main()

{ char c1,c2;

c1=’A’+’8’-‘4’; c2=’A’+’8’-‘5’;

printf(“%c,%d\\n”,c1,c2); }

已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68 B)D,69 C)E,D

D)输出无定值 有以下程序 #include

void fun(int p) { int d=2;

p=d++; printf(“%d”,p);} main() { int a=1;

fun(a); printf(“%d\\n”,a);} 程序运行后的输出结果是 A)32 B)12 C)21 D)22

以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能

#define MIN -47

int findmax (int x[],int n) { int i,max;

for(i=0;i

return max; }

造成错误的原因是

A)定义语句int i,max;中max未赋初值

B)赋值语句max=MIN;中,不应给max赋MIN值 C)语句if(max

D)赋值语句max=MIN;放错了位置 有以下程序 #include main()

{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;

printf(“%d,%d,%d,%d\\n”,m,n,*p,*q); }

程序运行后的输出结果是 A)1,2,1,2