常熟理工C语言题库

更新时间:2023-10-10 23:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 以下对于break语句使用的正确描述是( )。

A:可以出现在程序中的任何位置 B:只能出现在循环或switch结构中 C:只能出现在switch结构中 D:只能出现在循环结构中 2. 以下程序的输出结果为( )。 int i; void prt( )

{ for(i=5;i<8;i++)printf(\printf(\} main( )

{for(i=5;i<=8;i++) prt( ); }

A:*** B:*** *** *** *** C:*** *** D:* * *

3. 已知有声明 char c='1';int x=300;float t=35000;double d=3.1234567e10; ,则以下表达式求值时除( )外其结果都可能是不准确的。 A:x=t/c B:t=d/x C:t=d/le5f D:t=x+c 4. 在C语言程序中,以下说法正确的是( )。

A:函数的定义可以嵌套,但函数的调用不可以嵌套 B:函数的定义不可以嵌套,但函数的调用可以嵌套

C:函数的定义和函数的调用都不可以嵌套 D:函数的定义和函数的调用都可以嵌套

5. 若有以下程序段 int r=8;

printf(\输出结果是( )。 A:16 B:8 C:4 D:2

6. 下面四个选项中,均是不合法的用户标识符的选项是( )

A:A P_0 do B:float la0 _A C:b-a goto int D:_123 temp INT 7. 以下正确的if语句是( )

第 1 页/共 2 页

A:if(n>0) printf(\;

B:if(n>0){ n=n+m;printf(\;}else printf(\; C:if(n>0){ n=n+m;printf(\;};else printf(\; D:if(n>0){ n=n+m;printf(\;else printf(\;

8. 若有声明语句\则下列( )表达式语句是正确的。 A:(*p)++=c; B:printf(a%4==0?\ C:*(*p)++; D:a>20?return *p-20:return *p-1; 9. 以下声明中正确的是( )。

A:int a[2][2]={10},(*p)[2]=a+1; B:int n=10,*p[2]=&n; C:int n=10,a[2]={n}; D:int n=2,a[n]={10};

10. 已知有声明\则执行表达式\后,变量b和c的值分别为( )。

A:3,1 B:15,12 C:15,1 D:3,12

11. 以下函数调用语句中含有( )个实参。func((e1,e2),(e3,e4,e5)); A:2 B:3 C:5 D:语法错误

12. 以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。 #define MIN -2147483647 int findmax (int x[],int n) {int i,max; for(i=0;i

if(max

造成错误的原因是( )。

A:定义语句 int i,max;中 max 未赋初值 B:赋值语句 max=MIN;中,不应给 max 赋 MIN 值

C:语句 if(max

第 2 页/共 17 页

13. 有以下程序 #include main() {

int a=1, b=0;

printf (\printf (\}

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

14. 已有声明\以下选项中( )正确地引用了数组s中的基本元素。 A:s[1>2][!1] B:s[2][0] C:s[1] D:s 15. 设有以下程序段,则值为6的表达式是( )。 struct st { int n; struct st *next;};

static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0];

A:p++->n B:p->n++ C:++p->n D:(*p).n++ BADBC CBBAC ADDAC,

二、判断题(每题2分,对的打√错的打×,共20分)

1. 用fopen(\打开的文件\可以进行修改。 ( y ) 2. 若有定义:char *p(char a[10]);则p是函数名。( )

3. 用fopen(\打开的文件\可以进行修改。 ( )

4. int i=20;switch(i/10){case 2:printf(\的输出结果为A。( )

5. Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )

6. 函数strlen(\的值是7。( ) 7. 结构体类型只有一种。 ( )

8. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。 ( )

第 3 页/共 17 页

9. 构成数组的各个元素可以有不同的数据类型。 ( ) 10. 在 C 程序中, APH 和 aph 代表不同的变量。 ( )

11. 用fopen(\打开的文件\可以进行修改。 ( ) 12. 若有定义:char *p(char a[10]);则p是函数名。( )

13. int i=20;switch(i/10){case 2:printf(\的输出结果为A。( )

14. Break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )

15. 函数strlen(\的值是7。( ) 16. 结构体类型只有一种。 ( )

17. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .BAK 的文件。( )

18. 在 C 程序中, APH 和 aph 代表不同的变量。 ( )

√√√×√ ××××√,,,√√×√ ×××√ 三、填空题(每题2分,共20分)

1. 若有语句 double x=17; int y;,当执行 y=(int)(x/5)%2;之后 y 的值为_______ 。 2. 设有定义: struct person

{int ID; char name[12];}p;

请将 scanf(\语句补充完整,使其能够为结构体变量 p 的成员 ID 正确读入数据。 3. 有以下程序 #include main(){int f,f1,f2,i; f1=0; f2=1;

printf(\for(i=3;i<=5;i++)

{f= f1+f2; printf(\f1=f2; f2=f;

第 4 页/共 17 页

}}

程序运行后的输出结果是___________。

4. 设x、y、z均为int类型变量,请用C语言的表达式描述以下命题。x或y中有一个小于z _________

5. 设x、y、z均为int型变量,且x=3, y=-4, z=5,请写出下面每个表达式对应的结果。(x&&y)==(x||z) _______

6. 有int a=3,b=4,c=5;则以下表达式!(a+b)+c-1&&b+c/2的值是___________ 7. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为_____,n的值为_____

8. 当a=1, b=3, c=5, d=4 时,执行完下面一段程序后x的值是_____ if(a main()

{char a[20]=\scanf(\}

程序运行时从键盘输入:How are you?<回车> 则输出结果为________________。 10. 有以下程序: #include fun(int x)

{if(x/2>0) fun(x/2); printf(\}

main(){fun(6);}

程序运行后的输出结果是___________________ 。

1、 1 2、 p.ID 3、 0,1123 4、 x

第 5 页/共 17 页

本文来源:https://www.bwwdw.com/article/vpsf.html

Top