百年教育职业培训中心 百年教育学习服务平台
国开搜题

C语言程序设计24秋

来源: 更新时间:

C语言程序设计24秋 C语言程序设计24秋 学校: 无 问题 1: 1. C程序可以包括多个函数,程序总是按照( )所描述的方式执行当前的程序。 选项: A. 从本程序的main函数开始,到本程序文件的最后一个函数结束 B. 从本程序文件的...

C语言程序设计24秋

C语言程序设计24秋

学校: 无

问题 1: 1. C程序可以包括多个函数,程序总是按照( )所描述的方式执行当前的程序。

选项:

A. 从本程序的main函数开始,到本程序文件的最后一个函数结束

B. 从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C. 从main函数开始,到main函数结束

D. 从本程序文件的第一个函数开始,到本程序main函数结束

答案: 从main函数开始,到main函数结束

问题 2: 2. 根据C语言的语法规则,下列哪个是不合法标识符( )。

选项:

A. while

B. Name

C. Rern5

D. _exam

答案: while

问题 3: 3. 若x为float类型变量,则以下语句的运行结果为( )。x=117.28362;printf("%6.2f\n",x);

选项:

A. 117.2

B. 117.28

C. 117.28

D. 117.283

答案: 117.28

问题 4: 4. 若C中int型数据占2个字节,则double型数据占的字节数为( )。

选项:

A. 1

B. 2

C. 4

D. 8

答案: 8

问题 5: 5. 选出下列标识符中不是合法的标识符的是( )。

选项:

A. hot_do

B. cat1

C. _pri

D. 2ab

答案: 2ab

问题 6: 6. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值是( )。 x=(i=4,j=16,k=32)

选项:

A. 4

B. 16

C. 32

D. 52

答案: 32

问题 7: 7. 下列程序的输出是( )。#includeint main(){ printf(“%d\n”,a); return 0;}

选项:

A. 0

B. 变量无定义

C. -1

D. 1

答案: 请关注公众号【渝开搜题】查看答案

问题 8: 8. C语言中int型数据占2个字节,则long型数据占的字节数为( )。

选项:

A. 1

B. 2

C. 4

D. 8

答案: 请关注公众号【渝开搜题】查看答案

问题 9: 9. 设char ch=’A’;表达式!(ch>=’A’&&ch<=’Z’)?ch:(ch+32)的值是( )。

选项:

A. A

B. a

C. Z

D. z

答案: 请关注公众号【渝开搜题】查看答案

问题 10: 10. 设以下变量均为int类型,则值不等于7的表达式是( )。

选项:

A. (x=y=6,x+y,x+1)

B. (x=y=6,x+y,y+1)

C. (x=6,x+1,y=6,x+y)

D. (y=6,y+1,x=y,x+1)

答案: 请关注公众号【渝开搜题】查看答案

问题 11: 11. 设a=3,b=4,c=5,逻辑表达式a+b>c&&b==c的值是( )。

选项:

A. 1

B. 0

C. 3

D. 2

答案: 请关注公众号【渝开搜题】查看答案

问题 12: 12. 设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )。

选项:

A. (!a==1)&&(!b==0)

B. (a

C. a && b

D. a||(b+b)&&(c-a)

答案: 请关注公众号【渝开搜题】查看答案

问题 13: 13. 在C语言中,要求参加运算的数必须是整数的运算符是( )。

选项:

A. /

B. *

C. %

D. =

答案: 请关注公众号【渝开搜题】查看答案

问题 14: 14. 假定int k=7,x=12; 则值为3的表达式是( )。

选项:

A. x%=(k%=5)

B. x%=(k-k%5)

C. x%=k-k%5

D. (x%=k)-(k%=5)

答案: 请关注公众号【渝开搜题】查看答案

问题 15: 15. 若x=5,y=3 则y*=x+5; y的值为( )。

选项:

A. 10

B. 20

C. 15

D. 30

答案: 请关注公众号【渝开搜题】查看答案

问题 16: 16. 设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后, m,n的值是( )。

选项:

A. 0,0

B. 0,1

C. 1,0

D. 1,1

答案: 请关注公众号【渝开搜题】查看答案

问题 17: 17. 下面哪项不是基本数据类型( )。

选项:

A. 整型

B. 指针类型

C. 浮点型

D. 字符型

答案: 请关注公众号【渝开搜题】查看答案

问题 18: 18. 若有以下程序, 执行后的输出结果是( )。#includeint main( ){ int k=2,i=2,m; m=(k+=i*=k); printf(" %d,%d\n ",m,i); return 0;}

选项:

A. 8, 6

B. 8 ,3

C. 6, 4

D. 7, 4

答案: 请关注公众号【渝开搜题】查看答案

问题 19: 19. 设有以下语句,则执行完上述语句后n的值为( )。int a=5,b=6,c=7,d=8,x=2,y=2,n;n=(x=ad&&b>c));

选项:

A. 1

B. 2

C. 3

D. 0

答案: 请关注公众号【渝开搜题】查看答案

问题 20: 20. 设x=2.5,a=7,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是( )。

选项:

A. 2.5

B. 3.5

C. 4.5

D. 5.5

答案: 请关注公众号【渝开搜题】查看答案

问题 21: 21. 设a=3,b=4,c=5,逻辑表达式!(a+b)+c-1&&b+c/2的值是( )。

选项:

A. 0

B. 1

C. 4

D. 5

答案: 请关注公众号【渝开搜题】查看答案

问题 22: 22. 下列可用于C语言用户标识符的一组是( )。

选项:

A. void, if, WORD

B. a3_3,_123,Car

C. for, -abc, IF case

D. 2a, DO, sizeof

答案: 请关注公众号【渝开搜题】查看答案

问题 23: 23. 若变量c为char类型,能正确判断出c为数字的表达式是( )。

选项:

A. '0'<=c<= '9'

B. (c>= '0')||(c<= '9')

C. ('0'<=c) and ('9'>=c)

D. (c>= '0')&&(c<= '9')

答案: 请关注公众号【渝开搜题】查看答案

问题 24: 24. 表达式y=(13>12?15:6>7?8:9)的值为( )。

选项:

A. 9

B. 8

C. 15

D. 1

答案: 请关注公众号【渝开搜题】查看答案

问题 25: 25. 以下叙述中不正确的是( )。

选项:

A. C程序书写格式规定,一行内只能写一个语句

B. main()函数后面有一对花括号,花括号内的部分称为函数体

C. 一个C程序必须有main()函数

D. C规定函数内的每个语句以分号结束

答案: 请关注公众号【渝开搜题】查看答案

问题 26: 26. 为表示关系x≥y≥z,应使用C语言表达式( )。

选项:

A. (x>=y)&&(y>=z)

B. (x>=y) AND (y>=z)

C. (x>=y>=z)

D. (x>=z)&(y>=z)

答案: 请关注公众号【渝开搜题】查看答案

问题 27: 27. 设a=3,b=4,c=5,逻辑表达式!(a>b)&&!c||1的值是( )。

选项:

A. 3

B. 0

C. 1

D. 5

答案: 请关注公众号【渝开搜题】查看答案

问题 28: 28. 关于C语言变量,描述不正确的是( )。

选项:

A. 变量有空间

B. 变量有类型

C. 变量先定义后使用

D. 变量定义必需初始化

答案: 请关注公众号【渝开搜题】查看答案

问题 29: 29. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 30: 30. 设a=3,b=4,c=5,逻辑表达式a||b+c&&b-c的值是( )。

选项:

A. 0

B. 3

C. 1

D. 2

答案: 请关注公众号【渝开搜题】查看答案

问题 31: 31. 设有如下程序段则以下叙述中正确的是( )。int x=2002,y=2003;printf("%d\n",(x,y));

选项:

A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B. 运行时产生出错信息

C. 输出值为2002

D. 输出值为2003

答案: 请关注公众号【渝开搜题】查看答案

问题 32: 32. 若已定x和y为double类型,则表达式x=1,y=x+3/2的值是( )。

选项:

A. 1

B. 2

C. 2.0

D. 2.5

答案: 请关注公众号【渝开搜题】查看答案

问题 33: 33. 表达式:10!=9的值是( )。

选项:

A. true

B. 非零值

C. 0

D. 1

答案: 请关注公众号【渝开搜题】查看答案

问题 34: 34. 设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a的值是( )。

选项:

A. 3

B. 0

C. 9

D. -12

答案: 请关注公众号【渝开搜题】查看答案

问题 35: 35. 以下选项中,不正确的C语言浮点型常量是( )。

选项:

A. 160.

B. 0.12

C. 2e4.2

D. 0.0

答案: 请关注公众号【渝开搜题】查看答案

问题 36: 36. 设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

选项:

A. 1

B. 0

C. 4

D. 3

答案: 请关注公众号【渝开搜题】查看答案

问题 37: 37. 下列说法正确的是( )。

选项:

A. 用C语言书写程序时,不区分大小写字母

B. 用C语言书写程序时,一个语句可以分几行写

C. 用C语言书写程序时,一行只能写一个语句

D. 用C语言书写程序时,每行必需有行号

答案: 请关注公众号【渝开搜题】查看答案

问题 38: 38. 下列四组选项中,均是合法转义字符的选项是( )。

选项:

A. ‘\”’ ‘\\’ ‘\n’

B. ‘\’ ‘\017’ ‘\”’

C. ‘\018’ ‘\f’ ‘xab’

D. ‘\\0’ ‘\101’ ‘xlf’

答案: 请关注公众号【渝开搜题】查看答案

问题 39: 39. 以下非法的赋值语句是( )。

选项:

A. n=(i+2,i++);

B. j++;

C. ++(i+1);

D. x=j>0

答案: 请关注公众号【渝开搜题】查看答案

问题 40: 40. 设int a=3,b=4,c=5;下列表达式的值不为1的是( )。

选项:

A. a+b>c&&b==c

B. a||b+c&&b-c

C. !(a>b)&&!c||1

D. !(a+b)+c-1&&b+c/2

答案: 请关注公众号【渝开搜题】查看答案

问题 41: 41. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。

选项:

A. 算术运算、赋值运算、关系运算

B. 算术运算、关系运算、赋值运算

C. 关系运算、赋值运算、算术运算

D. 关系运算、算术运算、赋值运算

答案: 请关注公众号【渝开搜题】查看答案

问题 42: 42. 有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车键>,则输出结果是( )。

选项:

A. 10,A,10

B. 10,a,10

C. 10,a,0

D. 10,A,0

答案: 请关注公众号【渝开搜题】查看答案

问题 43: 43. 在每个C程序中都必须包含有这样一个函数,该函数的函数名为( )。

选项:

A. main

B. MAIN

C. name

D. function

答案: 请关注公众号【渝开搜题】查看答案

问题 44: 44. 下列语句不具有赋值功能的是( )。

选项:

A. a*=b

B. x=1

C. a+b

D. a++

答案: 请关注公众号【渝开搜题】查看答案

问题 45: 45. 不是C语言的浮点类型的是( )。

选项:

A. float

B. double

C. long double

D. real

答案: 请关注公众号【渝开搜题】查看答案

问题 46: 1. 有以下程序:int main(){ int a=5,b=0,c=0; if(a=b+C) printf("***\n"); else printf("$$$\n"); return 0;}程序运行结果是( )。

选项:

A. 有语法错不能通过编译

B. 可以通过编译但不能通过连接

C. 输出***

D. 输出$$$

答案: 请关注公众号【渝开搜题】查看答案

问题 47: 2. 设有int m=1,n=2;则++m==n的结果是( )。

选项:

A. 0

B. 1

C. 2

D. 3

答案: 请关注公众号【渝开搜题】查看答案

问题 48: 3. 若变量已正确定义,在if(W) printf("%d\n",k);中,以下不可替代W的是( )。

选项:

A. a<>b+c

B. ch=getchar()

C. a==b+c

D. a++

答案: 请关注公众号【渝开搜题】查看答案

问题 49: 4. 有如下嵌套的if语句:if(a

选项:

A. k=(ac)?b:c);

B. k=(a

C. k=(a

D. k=(a

答案: 请关注公众号【渝开搜题】查看答案

问题 50: 5. 已有定义语句:int a=4,b=6,temp;,执行以下语句后,能正确表示a,b,temp值的选项是( )。if(a>b) temp=a;else temp=b;printf("%d,%d,%d",a,b,temp);

选项:

A. 4,6,4

B. 4,6,6

C. 6,4,6

D. 6,4,4

答案: 请关注公众号【渝开搜题】查看答案

问题 51: 6. 以下程序的输出结果是( )。int main(){ int a=2,b=1,c=2; if(b

选项:

A. b=1,c=2

B. b=1,c=0

C. b=2,c=2

D. b=1,c=1

答案: 请关注公众号【渝开搜题】查看答案

问题 52: 7. C语言中用于结构化程序设计的三种基本结构是( )。

选项:

A. 顺序结构、选择结构、循环结构

B. if、switch、break

C. for、while、do-while

D. if、for、continue

答案: 请关注公众号【渝开搜题】查看答案

问题 53: 8. 已有定义语句:int x=6,y=4,z=5;,执行以下语句后,能正确表示x,y,z值的选项是( )。if(x

选项:

A. x=4,y=5,z=6

B. x=6,y=4,z=5

C. x=4,y=5,z=5

D. x=5,y=6,z=4

答案: 请关注公众号【渝开搜题】查看答案

问题 54: 9. 有以下程序段:int main(){ int x=1,y=0; if(!x) y++; else if(x==0) if(x) y+=2; else y+=3; printf("%d\n",y); return 0;}程序运行后的输出结果是( )。

选项:

A. 3

B. 2

C. 1

D. 0

答案: 请关注公众号【渝开搜题】查看答案

问题 55: 10. 以下程序的运行结果是( )。int main(){ int i=0; if(i==0) printf(“**”); else printf(“$”); printf(“*\n”); return 0;}

选项:

A. *

B. $*

C. **

D. ***

答案: 请关注公众号【渝开搜题】查看答案

问题 56: 11. 执行以下程序的输出结果是( )。int main(){ int a,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); return 0;}

选项:

A. 6,1

B. 2,1

C. 6,0

D. 2,0

答案: 请关注公众号【渝开搜题】查看答案

问题 57: 12. 逻辑运算符两侧运算对象的数据类型( )。

选项:

A. 只能是0或1

B. 只能是0或非0正数

C. 只能是整型或字符型数据

D. 可以是任何类型的数据

答案: 请关注公众号【渝开搜题】查看答案

问题 58: 13. 若运行时给变量x 输入12,则以下程序的运行结果是( )。int main(){ int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); return 0;}

选项:

A. 0

B. 22

C. 12

D. 10

答案: 请关注公众号【渝开搜题】查看答案

问题 59: 14. 有如下程序:int main(){ int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf(“a=%d,b=%d\n”,a,b); return 0;}该程序的输出结果是( )。

选项:

A. a=2,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=2

答案: 请关注公众号【渝开搜题】查看答案

问题 60: 15. 若w=1,x=2,y=3,z=4,则表达式w

选项:

A. 4

B. 3

C. 2

D. 1

答案: 请关注公众号【渝开搜题】查看答案

问题 61: 16. 若通过键盘输入6和8时,执行下述程序的结果为( )。int main(){ int a,b,s; scanf("%d%d",&a,&b); s=a; if(a

选项:

A. 36

B. 64

C. 48

D. 以上都不对

答案: 请关注公众号【渝开搜题】查看答案

问题 62: 17. 在if嵌套语句中,为避免else匹配错误,C语言规定else总是与( )组成配对关系。

选项:

A. 最近的if

B. 在其之前未配对的if

C. 在其之前尚未配对的最近的if

D. 同一行的if

答案: 请关注公众号【渝开搜题】查看答案

问题 63: 18. 若int k=8;则执行下列程序后,变量k的正确结果是( )。int main(){ int k=8; switch(k) { case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1; } printf("%d\n",k); return 0;}

选项:

A. 12

B. 11

C. 10

D. 9

答案: 请关注公众号【渝开搜题】查看答案

问题 64: 19. 以下程序的输出结果是( )。int main(){ int a=53,b=18,c=0; if(b10) { c=a--; c++; } b++; printf(“%d,%d,%d”,a,b,c); return 0;}

选项:

A. 52,18,52

B. 52,19,54

C. 52,19,52

D. 54,18,52

答案: 请关注公众号【渝开搜题】查看答案

问题 65: 20. 下面的程序段中共出现了几处语法错误( )。int a,b;scanf("%d",a);b=2a;if(b>0) printf("%b",b);

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 66: 21. 下列条件语句中,功能与其他语句不同的是( )。

选项:

A. if(a) printf(“%d\n”,x); else printf(“%d\n”,y);

B. if(a==0) printf(“%d\n”,y); else printf(“%d\n”,x);

C. if(a!=0) printf(“%d\n”,x); else printf(“%d\n”,y);

D. if(a==0) printf(“%d\n”,x); else printf(“%d\n”,y);

答案: 请关注公众号【渝开搜题】查看答案

问题 67: 22. 设有int a=2,b;则执行b=a&&1;语句后,b的结果是( )。

选项:

A. 0

B. 1

C. 2

D. 3

答案: 请关注公众号【渝开搜题】查看答案

问题 68: 23. 在以下给出的表达式中,与while(E)中的E不等价的表达式是( )。

选项:

A. (E>0||E<0)

B. (E==0)

C. (!E==0)

D. (E!=0)

答案: 请关注公众号【渝开搜题】查看答案

问题 69: 24. C 语言中,逻辑“真”等价于( )。

选项:

A. 大于零的数

B. 大于零的整数

C. 非零的数

D. 非零的整数

答案: 请关注公众号【渝开搜题】查看答案

问题 70: 25. 设有int n=2;则执行++n+1==4;语句后,n的结果是( )。

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 71: 26. 设有int n=2;则++n+1==4的结果是( )。

选项:

A. true

B. false

C. 1

D. 0

答案: 请关注公众号【渝开搜题】查看答案

问题 72: 27. 以下程序的输出结果是( )。int main(){ int m=5; if(m++>5) printf(“%d\n”,m); else printf(“%d\n”,m--); return 0;}

选项:

A. 4

B. 5

C. 6

D. 7

答案: 请关注公众号【渝开搜题】查看答案

问题 73: 28. 下列描述正确的是( )。

选项:

A. break语句只能用于switch语句中

B. 在switch语句中必须使用default语句

C. break语句必须与switch语句中的case配对使用

D. 在switch语句中,不一定使用break语句

答案: 请关注公众号【渝开搜题】查看答案

问题 74: 29. 设有int i=1,j=2,k=3;则表达式i&&j&&k 的值为( )。

选项:

A. 1

B. 2

C. 3

D. 0

答案: 请关注公众号【渝开搜题】查看答案

问题 75: 30. 以下程序的输出结果是( )。int main(){ float a=3.1,b; if(a<3) b=0; else if(a<6) b=a*=a+1; else if(a<9) b=a*10; else b=10.0; printf(“%f\n”,b); return 0;}

选项:

A. 0.000000

B. 10.00000

C. 12.709999

D. 1.000000

答案: 请关注公众号【渝开搜题】查看答案

问题 76: 31. 若变量已正确定义,有以下程序段:int main(){ int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf(“%d,%d,%d\n”,a,b,c); return 0;}程序运行结果是( )。

选项:

A. 程序段有语法错

B. 3,5,3

C. 3,5,5

D. 3,5,7

答案: 请关注公众号【渝开搜题】查看答案

问题 77: 32. C 语言的 switch 语句中,case 后( )。

选项:

A. 只能为常量

B. 只能为常量或常量表达式

C. 可为常量及表达式或有确定值的变量及表达式

D. 可为任何量或表达式

答案: 请关注公众号【渝开搜题】查看答案

问题 78: 33. 以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是( )。

选项:

A. switch(a==1) { case 0: a=b; break; case 1: a++;}

B. switch(a) { case 1: a=b; break; default: a++;}

C. switch(a) { default: a++; break; case 1: a=b;}

D. switch(a==1) { case 1: a=b; break; case 0: a++;}

答案: 请关注公众号【渝开搜题】查看答案

问题 79: 34. 能表示x为偶数的表达式是( )。

选项:

A. x%2==0

B. x%2==1

C. x%2

D. x%2!=0

答案: 请关注公众号【渝开搜题】查看答案

问题 80: 35. if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是( )。

选项:

A. 必须是逻辑值

B. 必须是整数值

C. 必须是正数

D. 可以是任意合法的数值

答案: 请关注公众号【渝开搜题】查看答案

问题 81: 36. 若有int x=10,y=20,z=30;以下语句执行后x,y,z 的值是( )。if(x>y) z=x;x=y;y=z;

选项:

A. x=10,y=20,z=30

B. x=20,y=30,z=30

C. x=20,y=30,z=10

D. x=20,y=30,z=20

答案: 请关注公众号【渝开搜题】查看答案

问题 82: 37. 有以下程序段:int main(){ int a=0,b=0,c=0,d=0; if(a=1) b=1; c=2; else d=3; printf("%d,%d,%d,%d",a,b,c,d); return 0;}程序运行后的输出结果是( )

选项:

A. 1,1,2,0

B. 0,0,0,3

C. 编译有错

D. 0,1,2,0

答案: 请关注公众号【渝开搜题】查看答案

问题 83: 38. 若执行以下程序时从键盘上输入9,则输出结果是( )。int main(){ int n; scanf("%d",&n); if(n++<10) printf("%d\n",n); else printf("%d\n",n--); return 0;}

选项:

A. 11

B. 10

C. 9

D. 8

答案: 请关注公众号【渝开搜题】查看答案

问题 84: 1. 在下列选项中,没有构成死循环的是( )。

选项:

A. int i=100;while(1){ i=i-1; if(i>100) break;}

B. for(;;);

C. int k=10000;do{ k++;}while(k>10000);

D. int s=36; while(s) --s;

答案: 请关注公众号【渝开搜题】查看答案

问题 85: 2. 循环语句中的for语句,其一般形式如下:for(表达式1;表达式2;表达式3) 语句;其中表示循环条件的是( )。

选项:

A. 表达式1

B. 表达式2

C. 表达式3

D. 语句

答案: 请关注公众号【渝开搜题】查看答案

问题 86: 3. 下列程序的输出结果是( )。 int main(){ int i,a=1,b=1; for(i=10;i>0;i--) { if(i%3==0) { a++; continue; } b++; } printf("a=%d,b=%d",a,b); return 0;}

选项:

A. a=4,b=7

B. a=4,b=8

C. a=8,b=4

D. a=7,b=5

答案: 请关注公众号【渝开搜题】查看答案

问题 87: 4. 下列程序的输出结果是:int main(){ int i; for(i=1;i<=5;i++) { if(i%2==0) break; printf("%d ",i); } printf("ok!\n"); return 0;}

选项:

A. Ok!

B. 1 2 3 4 5 Ok!

C. 1

D. 1 0k!

答案: 请关注公众号【渝开搜题】查看答案

问题 88: 5. 以下while循环中,循环体执行的次数是( )。k=1;while(k--) k=6;

选项:

A. 执行10次

B. 执行无限次

C. 一次也不执行

D. 执行1次

答案: 请关注公众号【渝开搜题】查看答案

问题 89: 6. 有以下程序段,其中x为整型变量:int x=-1;do{}while(x++);printf("x=%d",x);以下正确的是( )。

选项:

A. 该循环没有循环体,程序错误

B. 输出 x=1

C. 输出 x=0

D. 输出 x=-1

答案: 请关注公众号【渝开搜题】查看答案

问题 90: 7. 与以下程序段等价的是( )。while(a){ if(b) continue; c;}

选项:

A. while (a){ if (!b) c; }

B. while (c){ if (!b) break; c; }

C. while (c){ if (b) c; }

D. while (a){ if (b) break; c; }

答案: 请关注公众号【渝开搜题】查看答案

问题 91: 8. while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定要有能使此表达式的值变为( )的操作,否则,循环将会无限制地进行下去。

选项:

A. 0

B. 1

C. 2

D. 成立

答案: 请关注公众号【渝开搜题】查看答案

问题 92: 9. 若i为整型变量,则以下循环执行次数是( )。for(i=10;i==0;) printf("%d",i--);

选项:

A. 无限次

B. 0次

C. 10次

D. 程序错误

答案: 请关注公众号【渝开搜题】查看答案

问题 93: 10. C语言中,下列说法正确的是( )。

选项:

A. 不能用do-while语句构成循环

B. do-while语句构成循环必须用break语句才能退出

C. do-while语句构成循环,当while语句中的表达式为非零时结束循环

D. do-while语句构成循环,当while语句中的表达式为零时结束循环

答案: 请关注公众号【渝开搜题】查看答案

问题 94: 11. 以下循环中,while循环的次数是( )。int main(){ int i=0; while(i<5) { if(i<1) continue; if(i==5) break; i++; } return 0;}

选项:

A. 1

B. 10

C. 6

D. 死循环,不能确定次数

答案: 请关注公众号【渝开搜题】查看答案

问题 95: 12. 阅读下列程序段,则程序的输出结果是( )。 int main(){ int a=10,b=10,k; for(k=0;a>8;b=++k) printf("%d,%d,",a--,--b); printf("\n");}

选项:

A. 10,10,10,0,

B. 10,9,9,0,

C. 10,10,9,1,

D. 9,9,9,1,

答案: 请关注公众号【渝开搜题】查看答案

问题 96: 13. 以下程序段的描述,正确的是( )。 x=-1; do { x=x*x;}while(!x);

选项:

A. 是死循环

B. 循环执行两次

C. 循环执行一次

D. 有语法错误

答案: 请关注公众号【渝开搜题】查看答案

问题 97: 14. 阅读下列程序,则执行结果是( )。 int main(){ int a=0,b=0,c=0,i; for(i=0;i<4;i++) { switch(i) { case 0:a=i++; case 1:b=i++; case 2:c=i++; case 3:i++; } } printf("%d,%d,%d,%d\n",a,b,c,i); return 0;}

选项:

A. 0,1,3,4

B. 1,2,3,4

C. 0,1,2,5

D. 0,2,3,4

答案: 请关注公众号【渝开搜题】查看答案

问题 98: 15. 设有程序段:int k=1;while(k=0) k=k-1;这下面描述中正确的是( )。

选项:

A. while循环执行10次

B. 循环是无限循环

C. 循环体语句一次也不执行

D. 循环体语句执行一次

答案: 请关注公众号【渝开搜题】查看答案

问题 99: 16. 下列程序的输出结果是( )。 int main(){ int i=6; while(i--) printf("%d",--i); printf("\n"); return 0;}

选项:

A. 531

B. 420

C. 654321

D. 死循环

答案: 请关注公众号【渝开搜题】查看答案

问题 100: 17. 对下列两个语句Ⅰ和Ⅱ描述正确的是( )。 Ⅰ.while(1)Ⅱ.for(;;)

选项:

A. 都是无限循环

B. Ⅰ是无限循环,Ⅱ错误

C. Ⅰ循环一次,Ⅱ错误

D. 以上答案都错

答案: 请关注公众号【渝开搜题】查看答案

问题 101: 18. 若运行以下程序时,从键盘输入回车键,则下面程序的运行结果是( )。int main(){ char c; int v0=1,v1=0,v2=0; do { switch(c=getchar()) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U':v1+=1; default:v0+=1;v2+=1; } }while(c!='\n'); printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); return 0;}

选项:

A. v0=7,v1=4,v2=7

B. v0=8,v1=4,v2=8

C. v0=11,v1=4,v2=11

D. v0=2,v1=0,v2=1

答案: 请关注公众号【渝开搜题】查看答案

问题 102: 19. 下列程序的输出结果是( )。 int main(){ int i,a=0,b=0; for(i=1;i<10;i++) { if(i%2==0) { a++; continue; } b++; } printf("a=%d,b=%d",a,b); return 0;}

选项:

A. a=4,b=4

B. a=4,b=5

C. a=5,b=4

D. a=5,b=5

答案: 请关注公众号【渝开搜题】查看答案

问题 103: 20. 对于 for(表达式1; ;表达式3)可理解为( )。

选项:

A. for(表达式1;0;表达式3)

B. for(表达式1;1;表达式3)

C. for(表达式1;表达式1;表达式3)

D. for(表达式1;表达式3;表达式3)

答案: 请关注公众号【渝开搜题】查看答案

问题 104: 21. 有以下程序段,其中x为整型变量,以下选项中叙述正确的是( )。x=0;while(!x!=0) x++;

选项:

A. 退出while循环后,x的值为0

B. 退出while循环后,x的值为1

C. while的控制表达式是非法的

D. while循环执行无限次

答案: 请关注公众号【渝开搜题】查看答案

问题 105: 22. 阅读下列程序,程序的输出结果是( )。 int main(){ int m,n; float k; for(m=6;m>2;m--) { k=0; for(n=m;n>1;n--) k=k+m*n; } printf("%f\n",k); return 0;}

选项:

A. 5.000000

B. 15.000000

C. 25.000000

D. 35.000000

答案: 请关注公众号【渝开搜题】查看答案

问题 106: 23. 若有如下语句:int x=3;do{ printf("%d\n",x-=2);}while(!(--x)); 则上面程序段( )。

选项:

A. 输出的是1

B. 输出的是1和-2

C. 输出的是3和0

D. 是死循环

答案: 请关注公众号【渝开搜题】查看答案

问题 107: 24. 下列程序的输出结果是( )。 int main() { int a=0,b=0,c=0,i; for(i=0;i<4;i++) { switch(i) { case 0:a=++i; case 1:b=i++; case 2:c=--i; case 3:i--; } } printf("%d,%d,%d,%d\n",a,b,c,i); return 0;}

选项:

A. 1,1,1,5

B. 1,2,3,4

C. 0,0,0,50

D. 死循环

答案: 请关注公众号【渝开搜题】查看答案

问题 108: 25. 执行for(x=1,y=0;(y!=1)&&(x<4);x++);的结果为( )。

选项:

A. 无限循环

B. 循环次数不定

C. 执行3次

D. 执行2次

答案: 请关注公众号【渝开搜题】查看答案

问题 109: 26. 若有如下语句:int x=3; do{ printf("%d\n",x-=2);}while(!(--x)); 则上面程序段( )。

选项:

A. 输出的是4

B. 输出的是4和2

C. 输出的是1和-2

D. 是死循环

答案: 请关注公众号【渝开搜题】查看答案

问题 110: 27. 若int i,j;,则for(i=j=0;i<10&&j<8;i++,j+=3)控制的循环体执行的次数是( )。

选项:

A. 9

B. 8

C. 3

D. 2

答案: 请关注公众号【渝开搜题】查看答案

问题 111: 28. 执行语句for(i=1;i++<4;);后变量i的值是( )。

选项:

A. 3

B. 4

C. 5

D. 不定

答案: 请关注公众号【渝开搜题】查看答案

问题 112: 29. 以下正确的描述是( )。

选项:

A. continue语句的作用是结束整个循环的执行

B. 只能在循环体内和switch语句体内使用break语句

C. 在循环体内使用break语句或continue语句的作用相同

D. 从多层循环嵌套中退出时,只能使用goto语句

答案: 请关注公众号【渝开搜题】查看答案

问题 113: 30. 以下循环体的执行次数是( )。int main(){ int i,j; for(i=0,j=1;i<=j+1;i+=2,j--) printf("%d\n",i); return 0;}

选项:

A. 3

B. 2

C. 1

D. 0

答案: 请关注公众号【渝开搜题】查看答案

问题 114: 31. C语言中while和do-while循环的主要区别是( )。

选项:

A. do-while的循环体至少无条件执行一次

B. while的循环控制条件比do-while的循环控制条件更严格

C. do-while允许从外部转到循环体内

D. do-while 的循环体不能是复合语句

答案: 请关注公众号【渝开搜题】查看答案

问题 115: 32. 在do-while循环中,循环由do开始,用while结束;在while表达式后面的( )不能丢,它表示do-while语句的结束。

选项:

A. 0

B. 1

C. ;

D. ,

答案: 请关注公众号【渝开搜题】查看答案

问题 116: 33. 以下程序段的描述,正确的是( )。 x=-4;do{ x=x*x;}while(!x);

选项:

A. 是死循环

B. 循环执行两次

C. 循环执行一次

D. 有语法错误

答案: 请关注公众号【渝开搜题】查看答案

问题 117: 34. 以下循环中,while循环的次数是( )。int main(){ int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } return 0;}

选项:

A. 1

B. 10

C. 6

D. 死循环,不能确定次数

答案: 请关注公众号【渝开搜题】查看答案

问题 118: 35. 下面程序段的运行结果是( )。int a=1,b=2,c=2,t;while(a

选项:

A. 1,2,0

B. 2,1,0

C. 1,2,1

D. 2,1,1

答案: 请关注公众号【渝开搜题】查看答案

问题 119: 36. 下面有关for循环的正确描述是( )。

选项:

A. for循环只能用于循环次数已经确定的情况

B. for循环是先执行循环体语句,后判断表达式

C. 在for循环中,不能用break语句跳出循环体

D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案: 请关注公众号【渝开搜题】查看答案

问题 120: 37. for语句中的表达式可以部分或全部省略,但两个( )不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无限制地执行下去,形成死循环。

选项:

A. 0

B. 1

C. ;

D. ,

答案: 请关注公众号【渝开搜题】查看答案

问题 121: 38. 阅读下列程序段,则程序的输出结果是( )。int main(){ int a=8,b=3,k; for(k=0;a>6;b=++k) printf("%d,%d,",a--,--b); printf("\n"); return 0;}

选项:

A. 7,2,6,0,

B. 8,2,7,0,

C. 7,3,6,1,

D. 8,3,7,1,

答案: 请关注公众号【渝开搜题】查看答案

问题 122: 39. t为int类型,进入下面的循环之前,t的值为0,while(t=3){……}则以下叙述中正确的是( )。

选项:

A. 循环控制表达式的值为0

B. 循环控制表达式的值为1

C. 循环控制表达式不正确

D. 以上说法都不对

答案: 请关注公众号【渝开搜题】查看答案

问题 123: 40. 下面程序的运行结果是( )。 int main(){ int a=1,b=10; do { b-=a; a++; }while(b--<0); printf("a=%d,b=%d\n",a,b); return 0;}

选项:

A. a=3,b=11

B. a=2,b=8

C. a=1,b=-1

D. a=4,b=9

答案: 请关注公众号【渝开搜题】查看答案

问题 124: 1. 下面对C语言的描述中,正确的是( )。

选项:

A. 函数一定有返回值,否则无法使用函数

B. 函数既可以嵌套定义又可以递归调用

C. 调用函数时,只能将实参的值传递给形参

D. 程序中有调用关系的所有函数都必须放在同一源程序文件中

答案: 请关注公众号【渝开搜题】查看答案

问题 125: 2. 若用数组名作为函数调用的实参,传递给形参的是( )。

选项:

A. 数组的首地址

B. 数组第一个元素的值

C. 数组中全部元素的值

D. 数组元素的个数

答案: 请关注公众号【渝开搜题】查看答案

问题 126: 3. 若有如下程序:char fun(char x,char y){ if(x

选项:

A. 函数调用出错

B. 8

C. 9

D. 7

答案: 请关注公众号【渝开搜题】查看答案

问题 127: 4. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。

选项:

A. 函数调用可以作为独立的语句存在

B. 函数调用可以作为一个函数的实参

C. 函数调用可以出现在表达式中

D. 函数调用可以作为一个函数的形参

答案: 请关注公众号【渝开搜题】查看答案

问题 128: 5. 若有如下程序:int max(int x, int y){ if(x>y) return x; else return y;}int sum(int i){ return i+1; return i+2;}int main(){ int a=1, b=9, j; printf("%d", max(a+2,b)); j=sum(6); printf("%d",j); return 0;}程序运行结果是( )。

选项:

A. 97

B. 9,7

C. 98

D. 9,8

答案: 请关注公众号【渝开搜题】查看答案

问题 129: 6. 若有如下程序:int fun(int a,int b){ if(a>b) return(a); else return(b);}int main(){ int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z); printf(“%d\n”,r); return 0;} 程序运行后的输出结果是( )。

选项:

A. 3

B. 6

C. 8

D. 12

答案: 请关注公众号【渝开搜题】查看答案

问题 130: 7. 下列函数定义中,出现编译错误的是( )。

选项:

A. max(int x,int y,int z){ z=x>y?x:y; return z;}

B. int max(int x,y){ int z; z=x>y?x:y; return z;}

C. max(int x,int y){ int z; z=x>y?x:y; return(z);}

D. int max(int x,int y){ return(x>y?x:y);}

答案: 请关注公众号【渝开搜题】查看答案

问题 131: 8. 若有如下函数:fun(float x){ printf("%d\n",x*x); }则函数的类型是( )。

选项:

A. 与参数x的类型相同

B. 是void型

C. 是int型

D. 无法确定

答案: 请关注公众号【渝开搜题】查看答案

问题 132: 9. 下面程序能对两个整型变量的值进行交换。以下说法正确的是( )。int main(){ int a=10,b=20; printf("(1)a=%d,b=%d\n",a,b); swap(&a,&b); printf("(2)a=%d,b=%d\n",a,b); return 0;}int swap(int p,int q){ int t; t=p; p=q; q=t;}

选项:

A. 该程序完全正确

B. 该程序有错,只要将语句swap(&a,&b);中的参数改为a,b即可

C. 该程序有错,只要将swap()函数中的形参p和q以及t均定义为指针(执行语句不变)即可

D. 以上说法都不对

答案: 请关注公众号【渝开搜题】查看答案

问题 133: 10. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是( )。

选项:

A. 地址传递

B. 单向值传递

C. 由实参传给形参,再由形参传回实参

D. 传递方式由用户指定

答案: 请关注公众号【渝开搜题】查看答案

问题 134: 11. 已知函数f的定义如下:int f(int a,int b){ if(a

选项:

A. 2

B. 3

C. 2和3

D. 3和2

答案: 请关注公众号【渝开搜题】查看答案

问题 135: 12. C语言中函数返回值的类型是由( )决定的。

选项:

A. return语句中表达式的类型

B. 该函数定义时的类型

C. 调用函数时的调用语句

D. 根据结果

答案: 请关注公众号【渝开搜题】查看答案

问题 136: 13. 以下叙述中错误的是( )。

选项:

A. 用户定义的函数中可以没有return语句

B. 用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C. 用户定义的函数中若没有return语句,则应当定义函数为void类型

D. 函数的return语句中可以没有表达式

答案: 请关注公众号【渝开搜题】查看答案

问题 137: 14. 若调用函数时的实参为变量,以下关于函数形参和实参的叙述正确的是( )。

选项:

A. 函数的实参和其对应的形参共占同一存储单元

B. 形参只是形式上的存在,不占用具体存储单元

C. 同名的实参和形参占同一存储单元

D. 函数的形参和实参分别占用不同的存储单元

答案: 请关注公众号【渝开搜题】查看答案

问题 138: 15. 若主调函数类型为double,被调函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是( )。

选项:

A. int

B. float

C. double

D. 由系统当时的情况而定

答案: 请关注公众号【渝开搜题】查看答案

问题 139: 16. 若有如下程序:void f(int v,int w){ int t; t=v; v=w; w=t;}int main(){ int x=1,y=3,z=2; if(x>y) f(x,y); else if(y>z) f(y,z); else f(x,z); printf("%d,%d,%d\n",x,y,z); return 0;}执行后的输出结果是( )。

选项:

A. 1,2,3

B. 3,1,2

C. 1,3,2

D. 2,3,1

答案: 请关注公众号【渝开搜题】查看答案

问题 140: 17. 若使用一维数组名做函数实参,则以下正确的说法是( )。

选项:

A. 实参数组类型与形参数组类型可以不匹配

B. 在被调函数中可以不考虑形参数组的大小

C. 实参数组名必须与形参数组名一致

D. 必须在主调函数中说明此数组的大小

答案: 请关注公众号【渝开搜题】查看答案

问题 141: 18. 下列说法正确的是( )。

选项:

A. C语言中允许定义空函数

B. 空函数是一种错误的函数

C. 空函数既没有函数头,也没有函数体

D. 编程时,空函数没有任何用途

答案: 请关注公众号【渝开搜题】查看答案

问题 142: 19. 编写求两个双精度数之和的函数,选项中正确的是( )。

选项:

A. double add(double a,double b){ double s; s=a+b; return s;}

B. double add(double a,b){ double s; s=a+b; return (s);}

C. double add(double a double b){ double s; s=a+b; return s;}

D. double add(a,b){ double a,b,s; s=a+b; return (s);}

答案: 请关注公众号【渝开搜题】查看答案

问题 143: 20. 在C语言中以下不正确的说法是( )。

选项:

A. 实参可以是常量、变量或表达式

B. 形参可以是常量、变量或表达式

C. 实参可以为任意类型

D. 形参应与其对应的实参类型一致

答案: 请关注公众号【渝开搜题】查看答案

问题 144: 21. 以下说法正确的是( )。

选项:

A. 用户若需调用标准库函数,调用前必须重新定义

B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C. 系统根本不允许用户重新定义标准库函数

D. 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动调用

答案: 请关注公众号【渝开搜题】查看答案

问题 145: 22. 以下程序运行后的输出结果是( )。float fun(int x,int y){ return(x+y);}int main(){ int a=2,b=5,c=8; printf("%.1f\n",fun((int)fun(a+c,b),a-c)); return 0;}

选项:

A. 编译出错

B. 9

C. 21

D. 9.0

答案: 请关注公众号【渝开搜题】查看答案

问题 146: 23. 以下函数首部定义形式正确的是( )。

选项:

A. double fun(int x,int y)

B. double fun(int x;int y)

C. double fun(int x,int y);

D. double fun(int x,y);

答案: 请关注公众号【渝开搜题】查看答案

问题 147: 24. 将一个整数n,转换成字符串,以下说法正确的是( )。

选项:

A. 只能使用递归函数实现

B. 不能使用递归函数实现

C. 可以使用递归函数实现

D. 无法实现

答案: 请关注公众号【渝开搜题】查看答案

问题 148: 25. 在C语言程序中,若对函数类型未加说明,则函数的隐含类型为( )。

选项:

A. void

B. double

C. char

D. int

答案: 请关注公众号【渝开搜题】查看答案

问题 149: 26. 若程序中定义了如下函数:double myadd(double a,double b){ return (a+b);}将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是( )。

选项:

A. double myadd(double a,b);

B. double myadd(double,double);

C. double myadd(double b,double a);

D. double myadd(double x,double y);

答案: 请关注公众号【渝开搜题】查看答案

问题 150: 27. 若有如下程序:int fun(int a,int b){ if(b==0) return a; else return(fun(--a,--b));}int main(){ printf("%d\n",fun(4,2)); return 0;}程序的运行结果是( )。

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 151: 28. 以下函数值的类型是( )。fun(float x){ float y; y=3*x-4; return y;}

选项:

A. int

B. 不确定

C. void

D. float

答案: 请关注公众号【渝开搜题】查看答案

问题 152: 29. 以下程序有语法错误,有关错误原因的正确说法是( )。int main() { int G=5,k; void prt_char(); ... k=prt_char(G); ... return 0;}

选项:

A. 语句void prt_char();有错,它是函数调用语句,不能用void说明

B. 变量名不能使用大写字母

C. 函数说明语句和函数调用语句之间有矛盾

D. 函数名不能使用下划线

答案: 请关注公众号【渝开搜题】查看答案

问题 153: 30. 下面函数func((exp1,exp2),(exp3,exp4,exp5));调用语句中含有实参的个数为( )。

选项:

A. 1

B. 2

C. 4

D. 5

答案: 请关注公众号【渝开搜题】查看答案

问题 154: 31. 若有如下程序:int f(int a){ int b=0; static int c=3; b++; c++; return(a+b+c); }int main(){ int a=2,i; for(i=0;i<3;i++) printf("%d\n",f(a)); return 0;}输出结果是( )。

选项:

A. 789

B. 7911

C. 71013

D. 777

答案: 请关注公众号【渝开搜题】查看答案

问题 155: 32. 以下说法正确的是( )。

选项:

A. 定义函数时,形参的类型说明可以放在函数体内

B. return后边的值不能为表达式

C. 如果函数值的类型与返回值类型不一致,以函数值类型为准

D. 如果形参与实参类型不一致,以实参类型为准

答案: 请关注公众号【渝开搜题】查看答案

问题 156: 33. 在C语言中,函数的数据类型是指( )。

选项:

A. 函数返回值的数据类型

B. 函数形参的数据类型

C. 调用该函数时的实参的数据类型

D. 任意指定的数据类型

答案: 请关注公众号【渝开搜题】查看答案

问题 157: 34. 下列关于函数定义的叙述中,正确的是( )。

选项:

A. 函数可以嵌套定义,但不可以嵌套调用

B. 函数不可以嵌套定义,但可以嵌套调用

C. 函数不可以嵌套定义,也不可以嵌套调用

D. 函数可以嵌套定义,也可以嵌套调用

答案: 请关注公众号【渝开搜题】查看答案

问题 158: 35. 以下关于函数定义的叙述中,正确的是( )。

选项:

A. 构成C语言源程序的基本单位之一是函数定义

B. 所有被调用的函数必须在调用之前定义

C. void main()函数定义必须放在其他函数定义之前

D. void main()函数定义的函数体中必须至少有一条语句或声明

答案: 请关注公众号【渝开搜题】查看答案

问题 159: 36. 已知有函数定义:int fun(){ return(3,4);}则调用fun后的函数返回值是( )。

选项:

A. 3

B. 4

C. 3和4

D. 程序出错

答案: 请关注公众号【渝开搜题】查看答案

问题 160: 37. 有如下函数定义:void fun(int n,double x){ ……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是( )。

选项:

A. fun(int y,double m);

B. k=fun(10,12.5);

C. fun(x,n);

D. void fun(n,x);

答案: 请关注公众号【渝开搜题】查看答案

问题 161: 38. 以下函数声明中,正确的是( )。

选项:

A. void play(var a:Integer,var b:Integer)

B. void play(int a,b)

C. void play(int a,int b)

D. void play(int a int b)

答案: 请关注公众号【渝开搜题】查看答案

问题 162: 39. 下面的函数func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));调用语句中func函数的实参个数是( )。

选项:

A. 3

B. 4

C. 5

D. 8

答案: 请关注公众号【渝开搜题】查看答案

问题 163: 40. 在定义任何一个函数时,下列选项中不可缺少的是( )。

选项:

A. 函数名之前的数据类型

B. 函数名之后的一对圆括号

C. 形式参数声明

D. 函数体中的语句

答案: 请关注公众号【渝开搜题】查看答案

问题 164: 1. 若有以下程序:int main(){ int a=1,b=3,c=5; int *p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); return 0;}程序运行后的输出结果是( )。

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 165: 2. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。int main(){ int *p=NULL,*q=NULL,a,b; p=&a; printf(“input a:”); scanf(“%d”,*p); …… return 0;}

选项:

A. *p表示的是指针变量p的地址

B. *p表示的是变量a的值,而不是变量a的地址

C. *p表示的是指针变量p的值

D. *p只能用来说明p是一个指针变量

答案: 请关注公众号【渝开搜题】查看答案

问题 166: 3. 若有以下定义:char a[10],*b=a;不能给数组a输入字符串的语句是( )。

选项:

A. gets(a);

B. gets(a[0]);

C. gets(&a[0]);

D. gets(b);

答案: 请关注公众号【渝开搜题】查看答案

问题 167: 4. 若有以下程序:void sum(int *a){ a[0]=a[1];}int main( ){ int aa[10]={1,2,3,4,5,6,7,8,9,10},i; for(i=2;i>=0;i--) sum(&aa[i]); printf("%d\n",aa[0]); return 0;}程序运行后的输出结果是( )。

选项:

A. 4

B. 3

C. 2

D. 1

答案: 请关注公众号【渝开搜题】查看答案

问题 168: 5. 若有以下说明:char a[]="It is mine";char *p="It is mine";以下叙述不正确的是( )。

选项:

A. a+1表示的是字符t的地址

B. p指向另外的字符串时,字符串的长度不受限制

C. p变量中存放的地址值可以改变

D. a中只能存放10个字符

答案: 请关注公众号【渝开搜题】查看答案

问题 169: 6. 若有说明:int *p=NULL,m=5,n;,以下程序段正确的的是( )。

选项:

A. p=&n;scanf("%d",&p);

B. p=&n;scanf("%d",*p);

C. scanf("%d",&n);*p=n;

D. p=&n;*p=m;

答案: 请关注公众号【渝开搜题】查看答案

问题 170: 7. 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。

选项:

A. c=*p1+*p2;

B. p2=c

C. p1=p2

D. c=*p1*(*p2);

答案: 请关注公众号【渝开搜题】查看答案

问题 171: 8. 若有变量定义和函数调用语句:int a=25; print_value(&a);,下面函数的正确输出结果是( )。void print_value(int *x){ printf(“%d\n”,++*x);}

选项:

A. 23

B. 24

C. 25

D. 26

答案: 请关注公众号【渝开搜题】查看答案

问题 172: 9. 若有以下说明语句:char language[]={“FORTRAN”};char *q=NULL;q=language+2;则语句printf(“%s\n”,*q);输出的是( )。

选项:

A. language[2]元素的地址

B. 字符串RTRANL

C. language[2]元素的值,它是字符串FORTRAN的首地址

D. 输出语句错误,无法得到输出结果

答案: 请关注公众号【渝开搜题】查看答案

问题 173: 10. 若有以下定义:int arr[]={6,7,8,9,10};int *ptr=NULL;ptr=arr;*(ptr+2)+=2;printf("%d,%d\n",*ptr,*(ptr+2));则程序段的输出结果为( )。

选项:

A. 8,10

B. 6,8

C. 7,9

D. 6,10

答案: 请关注公众号【渝开搜题】查看答案

问题 174: 11. 若有以下定义: int a[10]={15,12,7,31,47,20,16,28,13,19},*p=NULL;下列语句中正确的是( )。

选项:

A. for(p=a;a<(p+10);a++);

B. for(p=a;p<(a+10);p++);

C. for(p=a;a=a+10;p

D. for(p=a;a

答案: 请关注公众号【渝开搜题】查看答案

问题 175: 12. 下面程序段的运行结果是( )。char *s="abcde";s+=2;printf("%s",s);

选项:

A. cde

B. 字符'c'

C. 字符'c'的地址

D. 无确定的输出结果

答案: 请关注公众号【渝开搜题】查看答案

问题 176: 13. 若 有以下程序:int f(int b[][4]) { int i,j,s=0; for(j=0;j<4;j++) { i=j; if(i>2) i=3-j; s+=b[i][j]; } return s; }int main( ) { int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}}; int *p=a; printf("%d\n",f(p)); return 0;}程序运行后的输出结果是( )。

选项:

A. 12

B. 11

C. 18

D. 16

答案: 请关注公众号【渝开搜题】查看答案

问题 177: 14. 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。

选项:

A. char s[10]="abcdefg";

B. char t[]="abcdefg",*s=t;

C. char s[10];s="abcdefg";

D. char s[10];strcpy(s,"abcdefg");

答案: 请关注公众号【渝开搜题】查看答案

问题 178: 15. 若有以下程序段:int main(){ int x[]={10,20,30}; int *px=x; printf("%d,",++*px); printf("%d,",*px); px=x; printf("%d,",(*px)++); printf("%d,",*px); px=x; printf("%d,",*px++); printf("%d,",*px); px=x; printf("%d,",*++px); printf("%d\n",*px); return 0;}程序运行后的输出结果是( )。

选项:

A. 11,11,11,12,12,20,20,20

B. 20,10,11,10,11,10,11,10

C. 11,11,11,12,12,13,20,20

D. 20,10,11,20,11,12,20,20

答案: 请关注公众号【渝开搜题】查看答案

问题 179: 16. 若有以下程序: int main(){ char a; char *str=&a; strcpy(str,"hello"); puts(str); return 0;}程序运行后的输出结果是( )。

选项:

A. hello

B. null

C. h

D. 发生异常

答案: 请关注公众号【渝开搜题】查看答案

问题 180: 17. 若有以下定义:int a[10],*p=a;则p+5表示( )。

选项:

A. 元素a[5]的地址

B. 元素a[5]的值

C. 元素a[6]的地址

D. 元素a[6]的值

答案: 请关注公众号【渝开搜题】查看答案

问题 181: 18. 若要对a进行++运算,则a应具有如下说明( )。

选项:

A. int a[3];

B. char a="12”;

C. char(*a)[3];

D. int b[10], *a=b;

答案: 请关注公众号【渝开搜题】查看答案

问题 182: 19. 变量的指针,其含义是指该变量的( )。

选项:

A. 值

B. 地址

C. 名

D. 一个标志

答案: 请关注公众号【渝开搜题】查看答案

问题 183: 20. 若有以下程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];则b中的值是( )。

选项:

A. 5

B. 6

C. 7

D. 9

答案: 请关注公众号【渝开搜题】查看答案

问题 184: 21. 若有说明:int *point=NULL,a=4; point=&a;,下面均代表地址的是( )。

选项:

A. a,point,*&a

B. &*a,&a,*point

C. *&point,*point,&a

D. &a,&*point,point

答案: 请关注公众号【渝开搜题】查看答案

问题 185: 22. 若有sizeof(int)值为2字节,则定义int a[]={10,20,30}, *p=&a;,当执行p++;后,下列说法错误的是( )。

选项:

A. p向高地址移了一个字节

B. p向高地址移了一个存储单元

C. p向高地址移了两个字节

D. p与a+1等价

答案: 请关注公众号【渝开搜题】查看答案

问题 186: 23. 若有以下程序:int main(){ char a[]="programming",b[]="language"; char *p1,*p2; int i; p1=a; p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); return 0;}程序运行后的输出结果是( )。

选项:

A. gm

B. Rg

C. or

D. ga

答案: 请关注公众号【渝开搜题】查看答案

问题 187: 24. 若有以下程序:int main(){ char a[20]="I love China"; char *p=a; printf("%c%s\n",*(a+2),p+1); return 0;}程序运行后的输出结果是( )。

选项:

A. I l

B. l o

C. o love

D. l love China

答案: 请关注公众号【渝开搜题】查看答案

问题 188: 25. 若有以下定义:int a[]={2,4,6,8,10,12},*p=a;则*(p+1)和*(a+5)的值是( )。

选项:

A. 4,12

B. 3,7

C. 4,10

D. 6,10

答案: 请关注公众号【渝开搜题】查看答案

问题 189: 26. 若有以下程序:void fun(char *c,int d){ *c=*c+1; d=d+1; printf("%c,%c,",*c,d);}int main(){ char a='A',b='a'; fun(&b,a); printf("%c,%c\n",a,b); return 0;}程序运行后的输出结果是( )。

选项:

A. B,a,B,a

B. a,B,a,B

C. A,b,A,b

D. b,B,A,b

答案: 请关注公众号【渝开搜题】查看答案

问题 190: 27. 若有以下程序:int 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); return 0;}程序运行后的输出结果是( )。

选项:

A. 1,2,1,2

B. 1,2,2,1

C. 2,1,2,1

D. 2,1,1,2

答案: 请关注公众号【渝开搜题】查看答案

问题 191: 1. 用下面的scanf函数输入数据,使a=4,b=9,在键盘上应该输入( )。#include int main(){ int a,b; scanf("a=%d_b=%d",&a,&b); return 0;}

选项:

A. a=4_b=9

B. a=4,b=9

C. a=4b=9

D. 4,9

答案: 请关注公众号【渝开搜题】查看答案

问题 192: 2. 源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( )。

选项:

A. program.bak和program.obj

B. program.obj和program.exe

C. program.exl和program.c

D. program.bak和prgram.exe

答案: 请关注公众号【渝开搜题】查看答案

问题 193: 3. 有以下程序#include int main(){ int m,n,p; scanf("m=%dn=%dp=%d",&m,&n,&p); printf("%d%d%d\n",m,n,p); return ();}若想从键盘上输入数据,使变量m中的值为1,n中的值为2,p中的值为3,则正确的输入是( )。

选项:

A. m=1n=2p=3

B. m=1 n=2 p=3

C. m=1,n=2,p=3

D. 1 2 3

答案: 请关注公众号【渝开搜题】查看答案

问题 194: 4. C语言语句结束时,使用的符号是( )。

选项:

A. .

B. :

C. ;

D. ,

答案: 请关注公众号【渝开搜题】查看答案

问题 195: 5. 若a=1,b=2,则输出1*2=2的语句是( )。

选项:

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

B. printf(“a*b=%d\n”,a*b);

C. printf(“%d*%d=%d\n”,a,b,a*b);

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

答案: 请关注公众号【渝开搜题】查看答案

问题 196: 6. C语言是国际上广泛流行的( )。

选项:

A. 计算机高级语言

B. 计算机低级语言

C. 计算机初级语言

D. 计算机中级语言

答案: 请关注公众号【渝开搜题】查看答案

问题 197: 7. 以下对计算机语言的解释正确的选项是( )。

选项:

A. 人和计算机交流信息的、计算机和人都不能识别的语言

B. 人和计算机交流、只有人能识别的语言

C. 计算机和计算机交流、只有计算机能识别的语言

D. 人和计算机交流信息的、计算机和人都能识别的语言

答案: 请关注公众号【渝开搜题】查看答案

问题 198: 8. 要使下面程序在屏幕上显示1, 2, 34则从键盘输入的数据格式应为( )。#includeint main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d,%d,%d\n",a,b,c); return 0;}

选项:

A. 1 2 34

B. 1, 2, 34

C. ’1’,’2’,34

D. 12 34

答案: 请关注公众号【渝开搜题】查看答案

问题 199: 9. 以下对程序的解释正确的选项是( )。

选项:

A. 一组计算机能识别和执行的指令

B. 一组计算机能识别和执行的程序

C. 一组计算机能识别和执行的函数

D. 一组计算机能识别和执行的文件

答案: 请关注公众号【渝开搜题】查看答案

问题 200: 1. 假定int类型变量占用两个字节,若有定义:int x[10]={0,2,4};则数组x在内存中所占字节数是( )。

选项:

A. 3

B. 6

C. 10

D. 20

答案: 请关注公众号【渝开搜题】查看答案

问题 201: 2. 若有语句int a[12]={1,4,7,10,2,5,8,11,1,6,9,12},则a[a[8]]的值是( )。

选项:

A. 1

B. 4

C. 7

D. 10

答案: 请关注公众号【渝开搜题】查看答案

问题 202: 3. 以下叙述中错误的是( )。

选项:

A. 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出

B. 数组名代表的是数组所占存储区的首地址,其值不可改变

C. 当程序执行时,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息

D. 可以通过初始化的方式确定数组元素的个数

答案: 请关注公众号【渝开搜题】查看答案

问题 203: 4. 已知int m[5]={0,1,2,3,4},下列语句不正确的是( )。

选项:

A. printf("%d",m[5]);

B. printf("%d",m[0]);

C. printf("%d",m[3]-m[3]);

D. printf("%d",m[2]+m[2]);

答案: 请关注公众号【渝开搜题】查看答案

问题 204: 5. 若有说明char a[]="abcd";,则运行printf("%c",a[1])的结果是( )。

选项:

A. abcd

B. bcd

C. a

D. b

答案: 请关注公众号【渝开搜题】查看答案

问题 205: 6. 若有下面的程序段,则正确的是( )。char a[3],b[]="China";a=b;printf("%s",a);

选项:

A. 运行后将输出China

B. 运行后将输出Ch

C. 运行后将输出Chi

D. 编译出错

答案: 请关注公众号【渝开搜题】查看答案

问题 206: 7. 定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf("%d",a[k][2-k]);

选项:

A. 3 5 7

B. 3 6 9

C. 1 5 9

D. 1 4 7

答案: 请关注公众号【渝开搜题】查看答案

问题 207: 8. 以下对一维整型数组a的说明正确的是( )。

选项:

A. int a(10);

B. int n;scanf("%d",&n);int a[n];

C. int n=10,a[n];

D. #define SIZE 10; int a[SIZE];

答案: 请关注公众号【渝开搜题】查看答案

问题 208: 9. 若有定义:char a[ ]="Hello!\n";则strlen(a)和sizeof(a)的值分别为( )。

选项:

A. 7和7

B. 7和8

C. 8和7

D. 8和8

答案: 请关注公众号【渝开搜题】查看答案

问题 209: 10. 若有char str[3][20]={"computer","windows","Unix"};,则执行以下语句printf("%s\n",str[2])后,输出结果是( )。

选项:

A. computer

B. Windows

C. Unix

D. w

答案: 请关注公众号【渝开搜题】查看答案

问题 210: 11. 若有说明int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是( )。

选项:

A. 2

B. 3

C. 4

D. 无确定值

答案: 请关注公众号【渝开搜题】查看答案

问题 211: 12. 若有说明int a[3][4];,则对数组a中元素的引用正确的是( )。

选项:

A. a[2][4]

B. a[1,3]

C. a[1+1][0]

D. a(2)(1)

答案: 请关注公众号【渝开搜题】查看答案

问题 212: 13. 以下对二维数组a的声明正确的是( )。

选项:

A. int a{3}{};

B. float a(3,4);

C. double a[1][4];

D. float a(3)(4);

答案: 请关注公众号【渝开搜题】查看答案

问题 213: 14. 数组char array[6]="abcdef";,则printf("%s",array)的输出结果是( )。

选项:

A. abcd

B. abcde

C. abcdef

D. 以上都不对

答案: 请关注公众号【渝开搜题】查看答案

问题 214: 15. 在C语言中引用数组元素时,其数组下标的数据类型允许是( )。

选项:

A. 整型常量

B. 整型表达式

C. 整型常量或整型表达式

D. 任何类型的表达式

答案: 请关注公众号【渝开搜题】查看答案

问题 215: 16. 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )。(假设a[0][0]位于数组的第一个位置上)

选项:

A. i*m+j

B. j*m+i

C. i*m+j-1

D. i*m+j+1

答案: 请关注公众号【渝开搜题】查看答案

问题 216: 17. 有以下程序段:int main(){ int n[3]={1,2,3}; printf("%d\n",n[1]); return 0;}程序运行后输出结果是( )。

选项:

A. 1

B. 2

C. 3

D. 4

答案: 请关注公众号【渝开搜题】查看答案

问题 217: 18. 要为字符型变量a赋初值,下列选项中哪一个是正确的( )。

选项:

A. char a='A';

B. char a="A";

C. char a=A;

D. 都不对

答案: 请关注公众号【渝开搜题】查看答案

问题 218: 19. 有两个字符数组a和b,以下正确的输入格式是( )。

选项:

A. gets(a,b);

B. scanf(“%s%s”,a,b);

C. scanf(“%s%s”,&a,&b);

D. gets(“a”);gets(“b”);

答案: 请关注公众号【渝开搜题】查看答案

问题 219: 20. 以下初始化语句错误的是( )。

选项:

A. char c[10]="ABC";

B. char s[3]={‘a’,‘b’,‘c’};

C. char s[4]={‘a’,‘b’,‘\0’};

D. char c[6]={"string"};

答案: 请关注公众号【渝开搜题】查看答案

问题 220: 21. 若有定义int a[][4]={5,6,8,7,2,4};,则该数组的元素个数是( )

选项:

A. 6

B. 7

C. 8

D. 9

答案: 请关注公众号【渝开搜题】查看答案

问题 221: 22. 设有语句:char s1[12]={"string"};char s2[12]={"string\n"};则以下语句printf("%d,%d",strlen(s1),strlen(s2));的输出结果是( )。

选项:

A. 5,6

B. 6,7

C. 7,7

D. 7,8

答案: 请关注公众号【渝开搜题】查看答案

问题 222: 23. 数组的下标是从( )开始的。

选项:

A. 0

B. 1

C. 2

D. 3

答案: 请关注公众号【渝开搜题】查看答案

问题 223: 24. 已知char c[5];,以下语句正确的是( )。

选项:

A. scanf("%c", c[0]);

B. scanf("%s", &c);

C. scanf("%s", c[1]);

D. c[0]=‘A’;

答案: 请关注公众号【渝开搜题】查看答案

问题 224: 25. 下列对数组定义不正确的语句是( )。

选项:

A. int m[5];

B. char b[1]={‘a’,‘b’,‘c’,‘d’};

C. int a[3]={1,2,3};

D. char p[5];

答案: 请关注公众号【渝开搜题】查看答案

问题 225: 26. 若有定义语句:int a[8];则以下表达式中不能代表数组元素a[1]地址的是( )。

选项:

A. &a[0]+1

B. &a[1]

C. &a[0]++

D. a+1

答案: 请关注公众号【渝开搜题】查看答案

问题 226: 27. 下列对二维数组的定义和初始化正确的是( )。

选项:

A. int n,a[n][n]={1,2,3, ,4};

B. double a[1][2]={1.1,2.2,3.3,4.4};

C. int a[2][2]={{1,3},{2,3}};

D. float a[5][6]={};

答案: 请关注公众号【渝开搜题】查看答案

问题 227: 28. 下面描述正确的是( )。

选项:

A. 两个字符串所包含的字符个数相同时,才能比较字符串

B. 字符个数多的字符串比字符个数少的字符串大

C. 字符串“That”大于字符串“Then”

D. 字符串“That”小于字符串“Then”

答案: 请关注公众号【渝开搜题】查看答案

问题 228: 29. 若有说明int a[][4]={0,0},则下面不正确的叙述是( )。

选项:

A. 数组a的每个元素都可得到初值0

B. 二维数组a的第一维大小为1

C. 因为二维数组a中初值个数除以第二维大小的值的商小于等于1,故数组a的行数为1

D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

答案: 请关注公众号【渝开搜题】查看答案

问题 229: 30. 对两个数组a和b进行如下初始化:char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是( )。

选项:

A. a与b数组完全相同

B. a与b长度相同

C. a和b中都存放字符串

D. a数组比b数组长度大

答案: 请关注公众号【渝开搜题】查看答案

问题 230: 31. 对以下说明语句int a[10]={6,7,8,9,10};,理解正确的是( )。

选项:

A. 对以下说明语句int a[10]={6,7,8,9,10};,理解正确的是( )。

B. 将5个初值依次赋给a[0]至a[4]

C. 将5个初值依次赋给a[6]至a[10]

D. 因为数组长度与初值的个数不相同,所以此语句不正确

答案: 请关注公众号【渝开搜题】查看答案

问题 231: 32. 下列定义数组的语句中,哪一个是不正确的( )。

选项:

A. char a[2][10]={"String1","String2"};

B. int b[2][2]={ 1,2,3,4};

C. float x[2][]={ 1,2, , , ,3 };

D. int y[2][3]={ {1,2,3},{4,5,6} };

答案: 请关注公众号【渝开搜题】查看答案

问题 232: 33. 整型数组不赋初值时,其每个元素的默认值为( )。

选项:

A. 0

B. 1

C. 2

D. 垃圾值

答案: 请关注公众号【渝开搜题】查看答案

问题 233: 34. 若有定义char str[]={"INTEL\nCPU"};,则语句puts(str)执行后的显示结果是( )。

选项:

A. INTEL(换行)CPU

B. INTELCPU

C. INTEL

D. CPU

答案: 请关注公众号【渝开搜题】查看答案

问题 234: 35. 下述对C语言字符数组的描述中错误的是( )。

选项:

A. 字符数组可以存放字符串

B. 字符数组中的字符串可以整体输入、输出

C. 可以通过“a=b”将字符数组b整体赋值给字符数组a

D. 不可以用关系运算符对字符数组中的字符串进行比较

答案: 请关注公众号【渝开搜题】查看答案

问题 235: 36. 若有说明char a[]="abcd";,则运行printf("%c",a[1])的结果是( )。

选项:

A. a

B. b

C. c

D. d

答案: 请关注公众号【渝开搜题】查看答案

问题 236: 37. 有字符数组a[80]和b[80],则正确的输出语句是( )。

选项:

A. puts(a,b);

B. printf("%s,%s",a[],b[]);

C. printf("%c,%c",a[],b[]);

D. puts(a);puts(b);

答案: 请关注公众号【渝开搜题】查看答案

问题 237: 1. 以下对宏替换的叙述不正确的是( )。

选项:

A. 带参的宏替换在替换时,先求出实参表达式的值,然后代入形参运算求值

B. 宏替换不占运行时间

C. 宏名无类型,其参数也无类型

D. 宏替换只是字符的替换

答案: 请关注公众号【渝开搜题】查看答案

问题 238: 2. 设有宏定义#define MAX(x,y) (x)>(y)?(x):(y),则F=MAX(2*4,3*4)的值为( )。

选项:

A. 3

B. 12

C. 2

D. 8

答案: 请关注公众号【渝开搜题】查看答案

问题 239: 3. 已知有宏定义#define SQR(a) 2*a*a,则SQR(3+4)的值为( )。

选项:

A. 18

B. 22

C. 98

D. 32

答案: 请关注公众号【渝开搜题】查看答案

问题 240: 4. 关于带参数的宏,下列说法正确的是( )。

选项:

A. 宏展开时要进行内存单元的分配

B. 宏展开时,不求参数的值,而只进行字符替换

C. 宏展开只能得到一个结果

D. 宏名无类型,但是它的参数是有类型的

答案: 请关注公众号【渝开搜题】查看答案

问题 241: 5. 若有以下宏定义:#define N 2 #define f(n) ((N+1)*n)则执行语句a=3*(N+f(5)); 后的结果是( )。

选项:

A. a=51

B. a=80

C. a无确定值

D. 语句有错误

答案: 请关注公众号【渝开搜题】查看答案

问题 242: 6. 若有宏定义如下:#define MOD(x,y) x%y则执行以下程序段的输出为( )。int z, a = 15, b = 100; z = MOD(b, a);printf("%d\n", z++);

选项:

A. 11

B. 6

C. 10

D. 5

答案: 请关注公众号【渝开搜题】查看答案

问题 243: 7. 设有宏定义#define SUB(x,y) (x)*y,且a=3,b=4,则 SUB(a++,b++)的值为( )。

选项:

A. 12

B. 20

C. 16

D. 13

答案: 请关注公众号【渝开搜题】查看答案

问题 244: 8. C程序中的宏展开是在( )。

选项:

A. 编译前预处理时进行的

B. 编辑时进行的

C. 编译时进行的

D. 程序执行时进行的

答案: 请关注公众号【渝开搜题】查看答案

问题 245: 9. 宏定义#define PI 3.14中的宏名PI代替( )。

选项:

A. 不确定类型的数

B. 一个单精度实数

C. 一个字符串

D. 一个双精度实数

答案: 请关注公众号【渝开搜题】查看答案

问题 246: 10. 设有宏定义#define MA(x) x*(x-1),且a=1,b=2,则MA(1+a+b)的值为( )。

选项:

A. 10

B. 6

C. 12

D. 8

答案: 请关注公众号【渝开搜题】查看答案

问题 247: 11. 以下叙述中,正确的是( )。

选项:

A. 在以下定义中,C R 是称为"宏名"的标识符 #define C R 045

B. 使用带参数的宏时,参数的类型应与宏定义时的一致

C. 在程序的一行上可以出现多个有效的预处理命令行

D. 宏替换不占用运行时间,只占编译时间

答案: 请关注公众号【渝开搜题】查看答案

问题 248: 12. 若程序有宏定义:#define N 100,则以下叙述中,正确的是( )。

选项:

A. 宏定义中,定义了标识符N的值为整数100

B. 在运行时用100替换标识符N

C. 对C源程序进行编译时用100替换标识符N

D. 在编译程序对C源程序进行预处理时用100替换标识符N

答案: 请关注公众号【渝开搜题】查看答案

问题 249: 13. 设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为( )。

选项:

A. 9.42

B. 6.28

C. 3.14

D. 12.56

答案: 请关注公众号【渝开搜题】查看答案

问题 250: 1. 定义以下结构体数组struct date{ int year; int month; int day;};struct s{ struct date birthday; char name[20];}x[4]={{2008,10,1,"guangzhou"},{2009,12,25,"Tianjin"}};语句printf("%s,%d",x[0].name,x[1].birthday.year);的输出结果为( )。

选项:

A. guangzhou,2009

B. guangzhou,2008

C. Tianjin,2008

D. Tianjin,2009

答案: 请关注公众号【渝开搜题】查看答案

问题 251: 2. 当定义一个结构体变量时,系统为它分配的内存空间是( )。

选项:

A. 结构体中一个成员所需的内存容量

B. 结构体中第一个成员所需的内存容量

C. 结构体中占内存容量最大者所需的容量

D. 结构中各成员所需内存容量之和

答案: 请关注公众号【渝开搜题】查看答案

问题 252: 3. 结构体变量成员的引用方式是使用( )运算符。

选项:

A. .

B. &

C. *

D. +

答案: 请关注公众号【渝开搜题】查看答案

问题 253: 4. 设有以下说明语句struct ex{ int x; float y; char z;}example;则下面的叙述中不正确的是( )。

选项:

A. struct ex是结构体类型名

B. example是结构体类型名

C. x,y,z都是结构体成员名

D. struct是结构体类型的关键字

答案: 请关注公众号【渝开搜题】查看答案

问题 254: 5. 如果有下面的定义和赋值,则使用( )不可以输出n中data的值。struct SNode{ unsigned id; int data;}n,*p;p=&n;

选项:

A. p.data

B. n.data

C. p->data

D. (*p).data

答案: 请关注公众号【渝开搜题】查看答案

问题 255: 6. 根据下面的定义,能输出Mary的语句是( )。struct person{ char name[9]; int age;}struct person class[5]={“John”,17,“Paul”,19,“Mary”,18,“Adam”,16};

选项:

A. printf(“%s\n”,class[1].name);

B. printf(“%s\n”,class[2].name);

C. printf(“%s\n”,class[3].name);

D. printf(“%s\n”,class[0].name);

答案: 请关注公众号【渝开搜题】查看答案

问题 256: 7. 下列程序的运行结果是( )。struct KeyWord { char key[20]; int ID;}kw[]={"void",1,"char",2,"int",3,"float",4,"double",5};int main(){ printf("%c,%d\n",kw[3].key[0],kw[3].ID); return 0;}

选项:

A. i,3

B. n,3

C. f,4

D. l,4

答案: 请关注公众号【渝开搜题】查看答案

问题 257: 8. 定义以下结构体数组struct c{ int x; int y;}s[2]={1,3,2,7};语句printf(“%d”,s[0].x*s[1].x);的输出结果是( )。

选项:

A. 14

B. 6

C. 2

D. 21

答案: 请关注公众号【渝开搜题】查看答案

问题 258: 9. 运行下列程序,输出结果是( )。struct contry{ int num; char name[20];}x[5]={1,”China”,2,”USA”,3,”France”,4,”Englan”,5,”Spanish”};int main(){ int i; for(i=3;i<5;i++) printf("%d%c”,x[i].num,x[i].name[0]); return 0;}

选项:

A. 3F4E5S

B. 4E5S

C. F4E

D. c2U3F4E

答案: 请关注公众号【渝开搜题】查看答案

问题 259: 10. 下面对结构体变量的叙述中错误的是( )。

选项:

A. 相同类型的结构体变量间可以相互赋值

B. 通过结构变量,可以任意引用它的成员

C. 结构变量中某个成员与这个成员类型相同的简单变量间可以互相赋值

D. 结构变量与简单变量间可以赋值

答案: 请关注公众号【渝开搜题】查看答案

问题 260: 11. 定义以下结构体数组struct date{ int year; int month;};struct s{ struct date birth; char name[20];}x[4]={{2008,8,"hangzhou"},{2009,3,"Tianjin"}}; 语句printf("%c,%d",x[1].name[1],x[1].birth.year);的输出结果为( )

选项:

A. a,2008

B. hangzhou,2008

C. i,2009

D. Tianjin,2009

答案: 请关注公众号【渝开搜题】查看答案

问题 261: 12. 下列关于结构体类型与结构体变量的说法中,错误的是( )。

选项:

A. 结构体类型与结构体变量是两个不同的概念,其区别如同int类型与int型变量的区别一样

B. 结构体可将不同数据类型但互相关联的一组数据,组合成一个有机整体使用

C. 结构体类型名和数据项的命名规则,与变量名相同

D. 结构体类型中的成员名,不可与程序中的变量同名

答案: 请关注公众号【渝开搜题】查看答案

问题 262: 13. 运行下列程序段,输出结果是( )。struct country{ int num; char name[10];}s[5]={ 1,"China",2,"USA",3,"France",4,"England",5,"Spanish"};语句printf("%d,%c",s[2].num, s[2].name);的输出结果为( )。

选项:

A. 3,France

B. 2,USA

C. 4,England

D. 5,Spanish

答案: 请关注公众号【渝开搜题】查看答案

电话咨询