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

C语言程序设计-20级第六学期

来源: 更新时间:

C语言程序设计-20级第六学期 C语言程序设计-20级第六学期 学校: 无 问题 1: 1. 指针的含义是( )。 选项: A. 值 B. 地址 C. 名 D. 一个标志 答案: 地址 问题 2: 2. 若有定义“int x,*pb;”,则...

C语言程序设计-20级第六学期

C语言程序设计-20级第六学期

学校: 无

问题 1: 1. 指针的含义是( )。

选项:

A. 值

B. 地址

C. 名

D. 一个标志

答案: 地址

问题 2: 2. 若有定义“int x,*pb;”,则以下正确的赋值表达式是( )

选项:

A. pb=&x

B. pb=x

C. *pb=&x

D. *pb=*x

答案: pb=&x

问题 3: 3. 以下叙述中正确的是()

选项:

A. 如果p是指针变量,则&p是不合法的表达式

B. 如果p是指针变量,则*p表示变量p的地址值

C. 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度

D. 如果p是指针变量,则*p+1和*(p+1)的效果是一样的

答案: 在对指针进行加、减算术运算时,数字1表示1个存储单元的长度

问题 4: 1. 若有定义“int a[5]={10,20,30,40,50},*p;p=&a[1];”,则执行语句“*p++;”后*p的值是( )

选项:

A. 20

B. 30

C. 21

D. 31

答案: 30

问题 5: 2. 若有定义“int *p[3];”,则以下叙述正确的是( )

选项:

A. p是一个指针数组

B. p是一个指针,它只能指向一个每行包含3个int类型元素的二维数组

C. p是一个指针,它可以指向一个一维数组中的任意元素

D. (*p)[3]与*p[3]等价

答案: p是一个指针数组

问题 6: 3. 若有以下定义和赋值语句,则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为( )int s[2][3]={0},(*p)[3];p=s;

选项:

A. *(p+i)+j

B. *(p[i]+j)

C. (p+i)+j

D. (*(p+i))[j]

答案: *(p+i)+j

问题 7: 4. 若有以下定义,则数值不为3的表达式是( )int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;

选项:

A. x[3]

B. p1=x+3,*p1++

C. p1=x+2,*(p1++)

D. p1=x+2,*++p1

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

问题 8: 5. 以下程序的运行结果是( )。#include void main() { int x[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p; printf("%d ",*(p++)); printf("%d\n",**pp); }

选项:

A. 4 4

B. 2 4

C. 2 2

D. 4 6

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

问题 9: 1. 程序设计不包括下面哪个环节()

选项:

A. 输入数据

B. 书写数据

C. 计算数据

D. 输出数据

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

问题 10: 2. 程序结构不包括下面哪种结构()

选项:

A. 顺序结构

B. 选择结构

C. 模块结构

D. 循环结构

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

问题 11: 3. 算法包括哪些特点()

选项:

A. 有输入

B. 有输出

C. 有穷性

D. 确定性

E. 高效性

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

问题 12: 4. 算法可以有多个输入

选项:

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

问题 13: 5. 算法可以没有输出

选项:

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

问题 14: 1. 顺序结构是按顺序流程执行的结构,没有跳转

选项:

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

问题 15: 2. N-S图是用规定的图形符号来描述算法

选项:

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

问题 16: 3. 循环结构中,无限循环不会影响程序的运行

选项:

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

问题 17: 4. 当型循环与直到型循环没有区别

选项:

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

问题 18: 5. 选择结构可以进行条件判断

选项:

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

问题 19: 1. 简单地说,设计和调试C语言程序要经过    、    、   和    4个阶段。

选项:

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

问题 20: 2. 能将高级语言编写的源程序转换为目标程序的是()

选项:

A. 链接程序

B. 网络程序

C. 编译程序

D. WORD字处理程序

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

问题 21: 1. C语言是一种()

选项:

A. 机器语言

B. 汇编语言

C. 脚本语言

D. 高级语言

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

问题 22: 2. 下列选项中,不属于开发一个C语言应用程序的具体实现步骤的就是()

选项:

A. 启动开发工具

B. 添加源文件

C. 编写代码

D. 运行程序

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

问题 23: 3. C语言的优点包括()

选项:

A. 数据类型丰富

B. 运算符齐备

C. 具有预处理功能

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

问题 24: 1. 以下()不是C语言的特点

选项:

A. 运算符丰富

B. 数据结构丰富

C. 可以直接访问物理地址

D. C函数包含的语句数目没有限制

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

问题 25: 2. 以下叙述错误的是()

选项:

A. 一个C源程序可由一个或多个函数组成

B. 一个C源程序必须包含一个main函数

C. C源程序的基本组成单位是函数

D. 在C源程序中,注释说明只能位于一条语句的后面

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

问题 26: 3. 一个C语言程序是由()

选项:

A. 一个主程序和若干子程序组成

B. 若干函数组成

C. 若干过程组成

D. 若干子程序组成

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

问题 27: 4. C语言规定,在一个源程序中,main 函数的位置()

选项:

A. 必须在最开始

B. 必须在系统调用的库函数的后面

C. 可以任意

D. 必须在最后

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

问题 28: 5. 以下()是C程序的基本结构单位

选项:

A. 文件

B. 语句

C. 函数

D. 表达式

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

问题 29: 6. 一个C程序的执行是从()

选项:

A. 本程序的main函数开始,到main函数结束

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

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

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

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

问题 30: 7. 以下叙述正确的是()

选项:

A. 在C程序中,main函数必须位于程序的最前面

B. C程序的每行中只能写一条语句

C. 结构化程序由顺序、选择和循环等三种基本结构组成

D. 在对一个C程序进行编译的过程中,可以发现注释中的拼写错误

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

问题 31: 8. 下列叙述错误的是()

选项:

A. 计算机不能直接执行用C语言编写的源程序

B. C程序经C编译程序编译后,生产后缀为“.obj”的文件是一个二进制文件

C. 后缀为“.obj”的文件,经连接程序生成后缀为".exe"的文件是一个二进制文件

D. 后缀为“.obj"和".exe"的二进制文件都可以直接运行

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

问题 32: 9. C语言源程序名的后缀是()

选项:

A. .exe

B. .c

C. .obj

D. .cpp

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

问题 33: 10. C语言属于()语言

选项:

A. 机器

B. 汇编

C. 高级

D. 自然

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

问题 34: 11. 以下不属于算法的特性()

选项:

A. 时效性

B. 有穷性

C. 确定性

D. 可行性

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

问题 35: 12. 每个执行语句都以()结尾

选项:

A. ;

B. :

C. ,

D. 。

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

问题 36: 13. 在执行C程序时,不是从main函数开始

选项:

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

问题 37: 14. 在C程序中,注释说明只能位于一条语句的后面

选项:

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

问题 38: 15. 一个C程序只有在编译、链接成.exe程序才能执行

选项:

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

问题 39: 16. C语言程序采用#对程序进行注释

选项:

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

问题 40: 17. #include 实现的是头文件的引用功能

选项:

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

问题 41: 18. C语言程序是一种面向对象的语言

选项:

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

问题 42: 19. 引用头文件使用define命令

选项:

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

问题 43: 20. C程序语言是区分中英文符号的

选项:

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

问题 44: 1. C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符()

选项:

A. 必须为字母

B. 必须为下划线

C. 必须为字母或下划线

D. 可以是字母,数字或下划线中的任意一种

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

问题 45: 2. 字符(char)型数据在微机内存中的存储形式是()

选项:

A. 反码

B. 补码

C. EBCDIC码

D. ASCII码

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

问题 46: 3. C语言提供的合法的数据类型关键字是()

选项:

A. Double

B. short

C. integer

D. Char

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

问题 47: 4. 在C语言中,以下叙述不正确的是()

选项:

A. 在C程序中,无论是整数还是实数,都能被准确无误的表示

B. 在C程序中,变量名代表存储器中的一个位置

C. 静态变量的生存期与整个程序的生存期相同

D. C语言中变量必须先定义后引用

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

问题 48: 1. 下面合法的C语言字符常量是()

选项:

A. '\t'

B. "A"

C. 65

D. A

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

问题 49: 2. 数值029是一个()

选项:

A. 八进制数

B. 十六进制数

C. 十进制数

D. 非法数

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

问题 50: 3. 设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是()

选项:

A. float

B. char

C. int

D. double

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

问题 51: 4. 已知字母A的ASCII码为十进制的65,下面程序的输出是()#includevoid main(){char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2);}

选项:

A. 67,D

B. B,C

C. C,D

D. 不确定的值

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

问题 52: 1. 请选出可以作为C语言用户标识符的一组标识符()

选项:

A. void, define, WORD

B. A3_B3, _123, abc

C. FOR, -abc, Case

D. 2a, Do, Sizeof

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

问题 53: 1. 下列程序的执行结果是( )。 int i,j,m,n;i=8;j=10; m=i++;n=++j;printf(“%d,%d,%d,%d”,i,j,m,n);

选项:

A. 9,11,8,11

B. 9,11,9,10

C. 8,10,8,10

D. 9,11,9,11

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

问题 54: 2. 在标准C中,在函数printf格式说明部分的字符都是以转义字符处理。

选项:

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

问题 55: 1. 若变量为float类型,要通过语句scanf(“%f%f%f”, &a, &b, &c);给a赋予10.0,b赋予22.0,c赋予33.0,则下列A、B、C、D四个答案中正确的为()。请大家将它写成一个完整的C语言,使得程序的运行结果是:a=10.0,b=10.0,c=10.0

选项:

A. 10<回车> 22<回车> 33

B. 10.0,22.0,33.0<回车>

C. 10.0<回车> 22.0 33.0<回车>

D. 10 22<回车> 33<回车>

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

问题 56: 1. 有以下程序段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

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

问题 57: 2. 有以下程序段 char ch; int k; ch='a'; k=12; printf("%c,%d,",ch,ch,k); printf("k=%d\n",k); 已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是____。

选项:

A. 因变量类型与格式描述符的类型不匹配输出无定值

B. 输出项与格式描述符个数不符,输出为零值或不定值

C. a,97,12k=12

D. a,97,k=12

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

问题 58: 1. 下列程序的执行结果是( )。#include void main(){ int i=2;printf(“%d,%d\n”, ++i, --i);}

选项:

A. 1, 1

B. 2, 1

C. 1, 2

D. 2, 2

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

问题 59: 2. 以下程序的执行结果是 。#include int main(){ int a,b,c; a=b=1; c=a++-1; printf(“%d,%d,”, a, c); c+=-a+++(++b || ++c); printf(“%d,%d\n”,a,c);return 0;}

选项:

A. 2,0,3,-1

B. 2,1,3,-1

C. 2,0,2,-1

D. 3,0,2,-1

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

问题 60: 1. 在C语言中,int、char和short三种类型数据所占用的内存是()

选项:

A. 均为2个字节

B. 由用户自己定义

C. 由所用机器的机器字长决定

D. 是任意的

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

问题 61: 2. 以下程序的执行结果是() #include void main() { int a=1234; printf("%2d\n",a); }

选项:

A. 12

B. 34

C. 1234

D. 提示出错、无结果

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

问题 62: 3. 如果x为float类型变量,则以下语句输出为() float x=213.82631; printf("%4.2f\n",x);

选项:

A. 213.82

B. 宽度不够,不能输出

C. 213.82631

D. 213.83

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

问题 63: 4. 在C语言中,合法的长整型差个数是()

选项:

A. 0L

B. 4962710

C. 0.054838743

D. 2.1869E10

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

问题 64: 5. 有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c),为使变量a的值为3,b的值为7,c的值为5,从键盘上输入的数据的正确格式是()

选项:

A. 375

B. 3,7,5

C. a=3,b=7,c=5

D. a=3 b=7 c=5

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

问题 65: 6. C语言中,执行下列语句时,要使x、y的值均1.25正确的输入是()scanf("x=%.2f,y=%.2f",&x,&y);

选项:

A. 1.25,1.25

B. 1.25 1.25

C. x=1.25,y=1.25

D. x=1.25 y=1.25

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

问题 66: 7. 字符串常量"BB\n\\\,,\r"在内存中占的字节数为()

选项:

A. 6

B. 7

C. 8

D. 9

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

问题 67: 8. 以下程序的执行结果是() #include void main() { int x=015; int y=0x15; printf("%4o %4x\n",x,y); printf("%4x %4d\n",x,y); printf("%4d %4o\n",x,y); }

选项:

A. 015 015 d 21 13 25

B. 15 15 D 21 13 25

C. 015 0x15 0x15 21 13 25

D. 15 15 d 21 13 25

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

问题 68: 9. 字符串常量"\\\22a,0\n"的字符个数是()

选项:

A. 8

B. 7

C. 6

D. 5

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

问题 69: 10. 下面字符串常量错误的是()

选项:

A. 'abc'

B. "12'12"

C. "0"

D. " "

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

问题 70: 11. 以下程序的执行结果是() #include void main() { int n=023; printf("%d\n",n); }

选项:

A. 18

B. 22

C. 23

D. 19

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

问题 71: 12. 以下可用作C语言用户标识符的一组标识符是()

选项:

A. void,define,WORD

B. a3-3,_123,if

C. For,_abc,Case

D. 2a,DO,sizeof

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

问题 72: 13. 以下选项中不属于C语言的类型的是()

选项:

A. signed short int

B. unsigned long int

C. unsigned int

D. long short

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

问题 73: 14. 字符型厂里在内存中存放的是()

选项:

A. ASCII码

B. BCD码

C. 内部码

D. 十进制

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

问题 74: 15. 已知:char x='f',y='a';,则下列C语句的输出结果是() printf("x=%c,y=%d\n",x-'c'+'C',x-y);

选项:

A. x=F,y=5

B. x=A,y=4

C. x=F,y=4

D. x=A,y=5

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

问题 75: 16. 在scanf()函数中格式符x用于输入十六进制整数

选项:

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

问题 76: 17. 在scanf()函数中要输入一个字符串采用格式符%c

选项:

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

问题 77: 18. C程序语言是区分大小写

选项:

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

问题 78: 19. 设有语句"char a='\72';",则变量a包含3个字符

选项:

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

问题 79: 20. 在C语言中,B.C.Tom是合法标识符

选项:

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

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

选项:

A. 1

B. 0

C. 4

D. 3

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

问题 81: 2. 判断从键盘输入一个字符,变量ch是数字的表达式为()

选项:

A. ch>='a'&&ch<='z'

B. ch>='0'&&ch<='9'

C. ch>=0&&ch<=9

D. ch>=0||ch<=9

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

问题 82: 3. a同时能被x和y整除的表达式为( )

选项:

A. a%x==0&&a%y==0

B. !(a%x)&&!(a%y)

C. a%x==0||a%y==0

D. !(a%x)||!(a%y)

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

问题 83: 4. 若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是( )

选项:

A. x=x*3=2

B. x=(y==1)

C. i=float(x)

D. i%(-3)

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

问题 84: 1. 有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);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

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

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

选项:

A. 2

B. 2.5

C. 3

D. 4

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

问题 86: 3. 若想通过输入语句 "scanf("a=%d,b=%d",&a,&b);",给a赋值1,给b赋值2,则输入数据的形式应该是 。

选项:

A. a=1,b=2

B. a=2,b=1;

C. a=1,b=2;

D. a,b=1,2;

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

问题 87: 1. 下列叙述中正确的是()

选项:

A. c语言中既有逻辑的类型也有集合类型。

B. c语言中没有逻辑类型但有集合类型。

C. c语言中有逻辑类型但没有集合类型。

D. c语言中既没有逻辑类型也没有集合类型。

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

问题 88: 2. 已知个变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;折以下不符合c语言与法的表达式是()。

选项:

A. x%3.5

B. w+=-2

C. k=(a=2,b=3,a+b)

D. a+=a-=(b=4)*(a=3)

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

问题 89: 3. 若变量a是int类型并执行了语句:a='A'+1.6;,则正确的是叙述是()。

选项:

A. a的值是字符'C'

B. a的值是浮点型

C. 不允许字符型和浮点型相加

D. a的值是字符'A'的ASCII值加上1

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

问题 90: 4. 下列运算符优先级最低的是( )。

选项:

A. 算术运算符

B. 关系运算符

C. 逻辑运算符

D. 赋值运算符

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

问题 91: 5. sizeof(float)是( )

选项:

A. 一种函数调用

B. 一个整型表达式

C. 一个浮点表达式

D. 非法使用,报错

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

问题 92: 6. 在C语言中,如果下面的变量都是int类型,则输出的结果时()sum=pad=5;pAd=sum++,pAd++,++pAd;printf("%d\n",pad);

选项:

A. 7

B. 6

C. 5

D. 4

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

问题 93: 7. 设int x=1,y=1;表达式(!x||y--)的值是()

选项:

A. 0

B. 1

C. 2

D. -1

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

问题 94: 8. 若x、i、j和k都是int型变量,则计算表达式“x=(i=14,j=16,k=18)”后,x的值为( )。

选项:

A. 14

B. 16

C. 18

D. 20

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

问题 95: 9. 表示关系“x<=y<=z”的C语言表达式为( )。

选项:

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

B. (x<=y)AND(y<+z)

C. (x<=y<=y)

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

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

问题 96: 10. 若“w=1,x=2,y=3,z=4”,则条件表达式“w>x?w:y

选项:

A. 1

B. 2

C. 3

D. 4

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

问题 97: 11. #include int 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

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

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

选项:

A. 1

B. 0

C. 4

D. 3

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

问题 99: 13. 若给定条件表达式(M)?(a++):(a--),则其中表达式(M)和()等价

选项:

A. M==0

B. M==1

C. M!=0

D. M!=1

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

问题 100: 14. 设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的是值是()

选项:

A. 6.500000

B. 6

C. 5.500000

D. 6.000000

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

问题 101: 15. 分析以下程序的执行结果()#include int main(){ int a,b,x; x=(a=3,b=a--); printf("x=%d,a=%d,b=%d\n",x,a,b); return 0;}

选项:

A. x=3,a=2,b=3

B. x=2,a=2,b=3;

C. x=3,a=2,b=2

D. x=2,a=2,b=2

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

问题 102: 16. 在C语言中,“++”运算符要求运算数必须是整型

选项:

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

问题 103: 17. 表达式“18/4*sqrt(4.0)/8"值的数据类型是int

选项:

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

问题 104: 18. 若有定义“int a=2, b=3;float x=3.5,y=2.5;”,则表达式“(float)(a+b)/2+(int)x%(int)y”的值为2.500000

选项:

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

问题 105: 19. 若有float x; 则sizeof(x)和sizeof(float)两种描述中,只有前者错误,后者正确。

选项:

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

问题 106: 20. 若定义了int x,则将x强制转化成双精度类型应写成double (x)

选项:

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

问题 107: 1. 表示关系“x<=y<=z”的C语言表达式为( )。

选项:

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

B. (x<=y)AND(y<+z)

C. (x<=y<=y)

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

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

问题 108: 2. 设iX=2,iY=3, ch='a',则表达式iZ = (iX || iY)&&(ch>'A')的值是()。

选项:

A. true

B. false

C. 1

D. 0

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

问题 109: 3. 写出下面各表达式的值(假设a=1,b=2,c=3,x=4,y=3)。(1) !a=x+y)?c-a:y-x,结果是______;(3)a||1+'a'&&b&&'c',结果是______

选项:

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

问题 110: 1. int k = x>y?(x>z?x:z):(y>z?y:z)语句的目的是()

选项:

A. 求x,y,z最大值

B. 求x,y,z最小值

C. 求x,y,z中间值

D. 求x,y,z平均值

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

问题 111: 2. 执行下面程序后,运行结果是(). #include void main( ) { int x=41,y=1; if (x%3==0 && x%7==0) { y+=x;printf("y=%d\n",y);} else {y=x;printf("y=%d",y);} }

选项:

A. y=41

B. y=43

C. y=42

D. y=1

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

问题 112: 1. 对switch语句后面一对括号中的表达式,叙述正确的是()。

选项:

A. 只能是数字

B. 只可以是浮点数

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

D. 合法的表达式

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

问题 113: 2. 以下是有关switch语句的说法正确的是( )。

选项:

A. break语句是语句中的必须的一部分

B. 可以根据需要使用或不使用break语句

C. break语句在switch语句中不可以使用

D. 在switch语句中的每一个case都要使用break语句

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

问题 114: 3. 运行下面程序时,从键盘输入字母H,则输出结果是(). #include void main( ) { char ch; ch=getchar( ); switch(ch) { case 'H': printf("Hello!\n"); case 'G': printf("Good morning!\n"); default: printf("Bye_Bye!\n"); } }

选项:

A. Hello!

B. Hello!Good Morning!

C. Hello! Good morning! Bye_Bye!

D. Hello!Bye_Bye!

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

问题 115: 1. 以下说法中正确的是()

选项:

A. #define和printf都是C语句

B. #define是C语句,而printf不是

C. printf是C语句,但#define不是

D. #define和printf都不是C语句

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

问题 116: 2. 以下关于结构化程序设计的叙述中,正确的是()

选项:

A. 一个结构化程序必须同时由顺序、分支、循环三种结构组成。

B. 结构化程序使用goto语句会很便捷。

C. 在c语言中,程序的模块化是利用函数实现的。

D. 由三种基本结构构成的程序,只能解决小规模的问题。

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

问题 117: 3. C语言的if语句中,用做判断的条件表达式为()。

选项:

A. 任意表达式

B. 逻辑表达式

C. 关系表达式

D. 算术表达式

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

问题 118: 4. 下列选项中,不能看作一条语句的是()

选项:

A. {;}

B. if(b==0)m=1;n=2

C. if(a>0);

D. a=0,b=0,c=0;

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

问题 119: 5. 设a、b和c都是int型变量,且a=3,b=4,c=5,则以下表达式中,值为0的表达式是()

选项:

A. a&&b

B. a<=b

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

D. !((a

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

问题 120: 6. 当a=3,b=2,c=1时,表达式f=a>b>c的值是()

选项:

A. 0

B. 1

C. 2

D. 3

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

问题 121: 7. 在嵌套使用if语句时,C语言规定else总是()。

选项:

A. 和之前与其具有相同缩进位置的if配对

B. 和之前与其最近的if配对

C. 和之前与其最近的且不带else的if配对

D. 和之前的第一个if配对

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

问题 122: 8. 设有声明语句:int a=1,b=0;则执行以下语句后输出() 。switch (a){ case 1: switch (b) { case 0: printf("**0**");break; case 1: printf("**1**");break; } case 2: printf("**2**");break;}

选项:

A. **0**

B. **0****2**

C. **0****1****2**

D. 有语法错误

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

问题 123: 9. 设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句()。if (x=y) printf(" x is equal to y.");

选项:

A. 语法错误

B. 不能判断x和y是否相等

C. 编译出错

D. 能判断x和y是否相等

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

问题 124: 10. 以下有关switch语句的正确说法是()

选项:

A. break语句是语句中必须的一部分

B. 在switch 语句中可以根据需要使用或不使用break语句

C. break语句在switch 语句中不可以使用

D. 在switch 语句中的每一个case都要用break语句

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

问题 125: 11. 若变量已正确定义,有以下程序段 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); 其输出结果是( )。

选项:

A. 程序段有语法错

B. 3,5,3

C. 3,5,5

D. 3,5,7

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

问题 126: 12. 执行以下语句:x+=y;y=x-y;x-=y;的功能是()

选项:

A. 把x和y按从大到小排列

B. 把x和y按从小到大排列

C. 无确定结果

D. 交换x和y中的值

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

问题 127: 13. #include 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\n",a,b,c,d); return 0;}以上程序的执行结果是()

选项:

A. 0,1,2,0

B. 0,0,0,3

C. 1,1,2,0

D. 编译有错

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

问题 128: 14. #include 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

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

问题 129: 15. #include int main(){ int x;  scanf("%d",&x);  if(x>15) printf("%d",x-5);  if(x>10) printf("%d",x);  if(x>5) printf("%d\n",x+5); return 0;}若以上程序运行时从键盘输入12<回车>,则输出结果为( )。

选项:

A. 7

B. 1217

C. 12

D. 17

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

问题 130: 16. 设实型变量为f1、f2、f3、f4的值分别为4,3,2,1整型变量m1、m2的值为1。表达式"(m1=f1>f2)&&(m2=f3

选项:

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

问题 131: 17. 在C语言中,break语句只能用于 switch语句和if语句中。

选项:

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

问题 132: 18. switch('B'){ case ‘A’:printf("abc");break; case ‘B’:switch(1) {case 0:printf("a");break; case 1;printf("b");break; default:printf("c");break; } default:printf("x");}以上程序段运行结果是bx。

选项:

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

问题 133: 19. 设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch 的值是a。

选项:

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

问题 134: 20. 在C语言中,赋值运算符的优先级最低

选项:

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

问题 135: 1. 对下面程序段描述正确的是:int x=0,s=0; while (!x!=0) s+=++x;printf("%d",s);

选项:

A. 运行程序段后输出0

B. 运行程序段后输出1

C. 程序段中的控制表达式是非法的

D. 程序段循环无数次

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

问题 136: 1. 关于"do 循环体 while(条件表达式);",以下叙述中正确的是

选项:

A. 条件表达式的执行次数总是比循环体的执行次数多一次

B. 循环体的执行次数总是比条件表达式的执行次数多一次

C. 条件表达式的执行次数与循环体的执行次数一样

D. 条件表达式的执行次数与循环体的执行次数无关

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

问题 137: 2. 若有以下程序:#include "stdio.h"int main(){ int a=-2,b=0; do{ ++b;} while(a++); printf("%d,%d\n",a,b);}

选项:

A. 1,3

B. 0,2

C. 1,2

D. 2,3

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

问题 138: 1. 下列程序的输出结果为( )。#include int main(){ int x=12; while(x--); printf("%d",x); return 0;}

选项:

A. -1

B. 0

C. 11

D. 1

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

问题 139: 2. 对于下列程序段,描述正确的是( )。int a=10;while(a=0) a=a-1

选项:

A. 循环体语句执行10次

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

C. 循环是无限循环

D. 循环体语句仅执行一次

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

问题 140: 3. 语句"while(!A);"中的表达式“!A”等价于()。

选项:

A. A==0

B. A==1

C. A!=0

D. A!=1

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

问题 141: 4. 下面有关for循环的正确描述是 ()

选项:

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

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

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

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

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

问题 142: 5. 若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是()。

选项:

A. 循环体执行两次

B. 循环体执行一次

C. 循环体一次也不执行

D. 构成无限循环

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

问题 143: 6. 对以下for循环,叙述正确的是()。for(x=0,y=0;(y!=123)&&(x<4);x++,y++);

选项:

A. 是无限循环

B. 循环次数不定

C. 执行了4次

D. 执行了3次

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

问题 144: 7. 执行下列程序段后,i的值是()。int i,x;for(i=1,x=1;i<20; i++){ if (x>=10) break; if(x%2==1) {x+=5; continue; } x-=3;}

选项:

A. 4

B. 5

C. 6

D. 7

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

问题 145: 8. 以下程序段输出结果是()。#include void main(){ int k,j,s; for(k=2;k<6;k++,k++) { s=1; for(j=k;j<6;j++) s+=j;} printf("%d\n",s);}

选项:

A. 9

B. 1

C. 11

D. 10

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

问题 146: 9. 以下程序的输出结果是( )。#include void main(){ int a, b; for(a=1, b=1; a<=100; a++) { if(b>=10) break; if (b%3==1) { b+=3; continue; } } printf("%d\n",a);}

选项:

A. 101

B. 6

C. 5

D. 4

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

问题 147: 10. 以下程序的输出结果是()。#include void main(){ int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<3;j++) { if(j%2)continue; x++; } x++; } printf("x=%d\n",x);}

选项:

A. x=4

B. x=6

C. x=8

D. x=12

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

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

选项:

A. (!E==0)

B. (E>0‖E<0)

C. (E==0)

D. (E!=0)

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

问题 149: 12. 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是()

选项:

A. while((ch=getchar())!="N")printf("%c",ch);

B. while(ch=getchar()!="N")printf("%c",ch);

C. while(ch=getchar()=="N")printf("%c",ch);

D. while((ch=getchar())=="N")printf("%c",ch);

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

问题 150: 13. 有以下程序段  #include   void main()  { …  while( getchar()!='\n');  …  }  以下叙述中正确的是( )。

选项:

A. 此while语句将无限循环

B. getchar()不可以出现在while语句的条件表达式中

C. 当执行此while语句时,只有按回车键程序才能继续执行

D. 当执行此while语句时,按任意键程序就能继续执行

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

问题 151: 14. 若有程序段:x=99;while(x-2) x--;则循环结束时,x=( )。

选项:

A. 99

B. 2

C. 1

D. 0

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

问题 152: 15. 下列程序段的执行结果是输出( )。x=3;do{ printf("%2d",x--);} while(!x);

选项:

A. 3 2 1

B. 3

C. 2 1

D. 2 1 0

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

问题 153: 16. 以下叙述正确的是()。

选项:

A. do...while语句构成的循环不能用其它语句构成的循环来代替

B. do...while语句构成的循环只能用break语句退出

C. 用do...while语句构成循环时,只有在while后的表达式非零时结束循环

D. 用do...while语句构成循环时,只有在while后的表达式为零时结束循环

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

问题 154: 17. 设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则()。

选项:

A. 运行程序段后输出0

B. 运行程序段后输出1

C. 程序段中的控制表达式是非法的

D. 程序段执行无限次

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

问题 155: 18. #include void main(){ int y=10; while(y--);printf("y=%d\n",y);}以上程序执行后的输出结果是()。

选项:

A. y=0

B. y=-1

C. y=1

D. while构成无限循环

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

问题 156: 19. #include void main(){ int k=5,n=0; do {switch(k) {case 1: case 3: n+=1; break; default: n=0; k--; case 2: case 4: n+=2;k--;break;} printf("%d",n); }while(k>0&&n<5);}以上程序运行后的输出结果是()

选项:

A. 2345

B. 235

C. 23456

D. 2356

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

问题 157: 20. 有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是( ) 。#include int main(){ int a,b; printf("Enter a,b:"); scanf("%d,%d",&a,&b); while(a!=b) { while(a>b) a -= b; while(b>a) b -= a; } printf("%3d%3d\n",a,b); }

选项:

A. 1 1

B. 2 1

C. 2 2

D. 3 3

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

问题 158: 1. 以下有关C语言中数组的说法正确的是( )

选项:

A. 数组元素的数据类型可以不一致

B. 数组元素的个数可以不确定,允许随机变动

C. 可以使用动态内存分配技术定义元素个数可变的数组

D. 定义一个数组后就确定了它所容纳的具有相同数据类型元素的个数

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

问题 159: 1. 下列对一维数组a的说明正确的是( )

选项:

A. int a(10);

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

C. int n;scanf(“%d”,&n);int a[n];

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

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

问题 160: 2. 对于下列程序,说法正确的是( )。 1 main( ) 2 { 3 float a[10]={0.0}; 4 int i; 5 for(i=0; i<3; i++) scanf(“%d”,&a[i]); 6 for(i=1; i<10; i++) a[0]=a[0]+a[i]; 7 printf(“%f\n”,a[0]); 8 }

选项:

A. 没有错误

B. 第3行有错误

C. 第5行有错误

D. 第7行有错误

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

问题 161: 1. 若有定义“int a[][3]={0,0};”,则下列所述正确的是( )。

选项:

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

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

C. 数组a的行数为2

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

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

问题 162: 2. 若有定义“int a[3][4];”,则对a的数组元素引用正确的是( )。

选项:

A. a[2][4]

B. a[1, 3]

C. a[1+1][0]

D. a(2)(1)

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

问题 163: 1. 对下列程序段描述正确的是( )。char a[3], b[ ]= "China";a=b;printf("%s",a);

选项:

A. 运行后将输出China

B. 运行后将输出Ch

C. 运行后将输出Chi

D. 编译出错

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

问题 164: 2. 已知“char c1[]={"abcd"};char c2[]={'a', 'b', 'c', 'd'};”,则下列描述正确的是( )。

选项:

A. 数组c1和数组c2等价

B. 数组c1和数组c2的长度相同

C. 数组c1的长度大于数组c2的长度

D. 以上都不对

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

问题 165: 1. 判断字符串s1是否大于字符串s2,应当使用( )。

选项:

A. if(s1>s2)

B. if(strcmp(s1,s2))

C. if(strcmp(s2,s1)>0)

D. if(strcmp(s1,s2)>0)

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

问题 166: 2. 下列程序的运行结果是( )。#include void main( ){ char str[ ]=”SSSWLIA”, c; int k; for(k=2; (c=str[k])!=’\0’; k++) { switch(c) { case ‘I’: ++k; break; case ‘L’: continue; default: putchar(c); continue; } putchar(‘*’); }}

选项:

A. SSW*

B. SW*

C. SW*A

D. SW

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

问题 167: 1. 下列程序的运行结果是()#include void main(){ char a[2][6]={”Sun”,”Moon”}; int i,j,len[2]; for(i=0;i<2;i++) { for(j=0; j<6;j++) if(a[i][j]==’\0’) { len[i]=j; break; } printf(“%6s: %d\n”, a[i], len[i]); }}

选项:

A. Sun:3

B. Sun:4

C. Moon:4

D. Moon:3

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

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

选项:

A. 整型常量

B. 整型表达式

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

D. 任何类型的表达式

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

问题 169: 2. 若有说明:int a[10];则对a 数组元素的正确引用是()。

选项:

A. a[10]

B. a[3.5]

C. a(5)

D. a[10-10]

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

问题 170: 3. C语言中数组下标的下限是()。

选项:

A. 1

B. 0

C. 视具体情况而定

D. 无固定下限

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

问题 171: 4. 以下数组定义中不正确的是()。

选项:

A. int a[2][3];

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

C. int c[100][100]={0};

D. int d[3][]={{1,2},{1,2,3},{1,2,3,4}};

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

问题 172: 5. 二维数组a有m行n列,则在a[i][j]之前的元素个数为( )。

选项:

A. j*n+i

B. i*n+j

C. i*n+j-1

D. i*n+j+1

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

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

选项:

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

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

C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值

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

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

问题 174: 7. 若给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为( )。

选项:

A. 数组x和数组y等价

B. 数组x和数组y的长度相同

C. 数组x的长度大于数组y的长度

D. 数组x的长度小于数组y的长度

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

问题 175: 8. 若有数组定义: char array [ ]="China"; 则数组 array所占的空间为( )。

选项:

A. 4个字节

B. 5个字节

C. 6个字节

D. 7个字节

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

问题 176: 9. 有以下程序 #include void main() { char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′}; printf("%d%d\n",strlen(p),strlen(q));} 以下叙述中正确的是 ( )。

选项:

A. 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B. 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C. 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D. 由于p和q数组中都没有字符串结束符,故长度都不能确定

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

问题 177: 10. 以下有关C语言中数组的说法正确的是( )。

选项:

A. 数组元素的数据类型可以不一致

B. 数组元素的个数可以不确定,允许随机变动

C. 可以使用动态内存分配技术定义元素个数可变的数组

D. 定义一个数组后就确定了它所容纳的具有相同数据类型元素的个数

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

问题 178: 11. 下列对一维数组a的说明正确的是( )。

选项:

A. int a(10);

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

C. int n; scanf(“%d”,&n); int a[n];

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

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

问题 179: 12. 对于下列程序,说法正确的是( )(前面的数字代表行号)。0 #include 1 int main( )2 {3 float a[10]={0.0};4 int i;5 for(i=0; i<3; i++) scanf("%d",&a[i]);6 for(i=1; i<10; i++) a[0]=a[0]+a[i];7 printf("%f\n",a[0]);8 return 0;9 }

选项:

A. 没有错误

B. 第3行有错误

C. 第5行有错误

D. 第7行有错误

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

问题 180: 13. 下列程序的运行结果是( )。#include void main(){ int a[6], i; for(i=1; i<6; i++) { a[i]=9*(i-2+4*(i>3))%5; printf(“%2d”,a[i]); }}

选项:

A. -4 0 4 0 4

B. -4 0 4 0 3

C. -4 0 4 4 3

D. -4 0 4 4 0

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

问题 181: 14. 对下列程序段描述正确的是( )。char a[3], b[ ]= "China";a=b;printf("%s",a);

选项:

A. 运行后将输出China

B. 运行后将输出Ch

C. 运行后将输出Chi

D. 编译出错

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

问题 182: 15. 判断字符串s1是否大于字符串s2,应当使用( )。

选项:

A. if(s1>s2)

B. if(strcmp(s1,s2))

C. if(strcmp(s2,s1)>0)

D. if(strcmp(s1,s2)>0)

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

问题 183: 16. 下列程序的运行结果是( )。#include int main( ){ char str[ ]="SSSWLIA", c; int k; for(k=2; (c=str[k])!='\0'; k++) { switch(c) { case 'I': ++k; break; case 'L': continue; default: putchar(c); continue; } putchar('*'); }}

选项:

A. SSW*

B. SW*

C. SW*A

D. SW

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

问题 184: 17. 已知“char string1[10]= "abcde",string2[10]= "xyz";,则语句printf("%d",strlen(strcpy(string1,string2)));的输出结果是( )。

选项:

A. 3

B. 5

C. 8

D. 9

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

问题 185: 18. 以下程序段的输出结果是()char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++) printf("%s\n",w[k]);

选项:

A. ABCDFGHKL

B. ABCDEFGIJM

C. EFGJK0

D. EFGHIJKL

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

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

选项:

A. 3

B. 6

C. 10

D. 20

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

问题 187: 20. #include int main(){ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0;j<=i;j++) printf("%4c",' '); for(j= ;j<4;j++) printf("%4d",num[i][j]); printf("\n"); } return 0;}以上程序若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16则在程序下划线处应填入的是()

选项:

A. i-1

B. i

C. i+1

D. 4-i

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

问题 188: 1. 以下正确的函数定义形式是() 。

选项:

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);

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

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

选项:

A. 实参和与其对应的形参各占用独立的存储单元

B. 实参和与其对应的形参共占用一个存储单元

C. 只有当实参和与其对应的形参同名时才共占用存储单元

D. 形参是虚拟的 ,不占用存储单元

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

问题 190: 3. 若调用一个函数,且此函数中没有 return 语句,则正确的说法是:该函数()。

选项:

A. 没有返回值

B. 返回若干个系统默认值

C. 能返回一个用户所希望的值

D. 返回一个不确定的值

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

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

选项:

A. 数组的首地址

B. 数组第一个元素的值

C. 数组中全部元素的值

D. 数组元素的个数

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

问题 192: 5. 以下正确的说法是() 。

选项:

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

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

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

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

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

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

选项:

A. 地址传递

B. 单向值传递

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

D. 传递方式由用户指定

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

问题 194: 2. 函数调用 :strcat(strcpy(str1,str2),str3) 的功能是

选项:

A. 将串 str1 复制到串 str2 中后再连接到串 str3 之后

B. 将串 str1 连接到串 str2 之后再复制到串 str3 之后

C. 将串 str2 连接到串 str1 之后再将串 str1 复制到串 str3 中

D. 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后

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

问题 195: 3. C 语言函数内定义的局部变量的隐含存储类别是

选项:

A. static

B. auto

C. register

D. extern

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

问题 196: 4. C语言中函数参数传递是值传递,所以不能交换调用函数中两个变量的值。

选项:

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

问题 197: 5. C语言中自定义函数只能有一个返回值,所以不能改变调用函数中一个以上的变量

选项:

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

问题 198: 1. 递归函数f(n)=f(n-1)+n (n>1)的递归体是( )。

选项:

A. f(1)=0

B. f(0)=1

C. f(n)=f(n-1)+n

D. f(n)=n

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

问题 199: 2. 下列程序的输出结果是( )。#include fun(int a,int b,int c){ c = a * b;}int main( ){ int c; fun(2,3,c); printf("%d\n", c); return 0;}

选项:

A. 0

B. 1

C. 6

D. 无法确定

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

问题 200: 1. 下列程序的输出结果是()#include int fac_sum(int n){ static int f=1,t=1,s=0; int i; if(n>t) for(i=t+1; i<=n; i++) f=f*i; else { f=1; for(i=1; i<=n; i++) f=f*i; } t=n; s=s+f; return(s);}void main(){ int a[]={3,5,2},i,sum; for(i=0; i<3; i++) sum=fac_sum(a[i]); printf(“sum=%d\n”,sum);}

选项:

A. sum=128

B. sum=98

C. sum=256

D. 无法确定

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

问题 201: 1. 将一个函数声明为static后,该函数将( )

选项:

A. 既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用

B. 只能被同一源文件中的函数调用,不能被其他源文件中的函数调用

C. 只能被其他源文件中的函数调用,不能被同一源文件中的函数调用

D. 既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用

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

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

选项:

A. 在不同函数中可以使用相同名称的变量

B. 函数中的形参是局部变量

C. 在一个函数内定义的变量只在本函数范围内有效

D. 在一个函数的复合语句中定义的变量在本函数范围内有效

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

问题 203: 3. 下列程序的输出结果是( )#include int x=1;func(int x){x=3;}int main( ){func(x);printf("%d\n",x);return 0;}

选项:

A. 3

B. 1

C. 0

D. 无法确定

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

问题 204: 1. 以下函数调用语句中,含有的实参个数是()。func((exp1,exp2),(exp3,exp4,exp5));

选项:

A. 1

B. 2

C. 4

D. 5

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

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

选项:

A. 地址传递

B. 单向值传递

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

D. 传递方式由用户指定

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

问题 206: 3. 以下叙述正确的是()。

选项:

A. C程序中各函数之间既允许直接递归调用,也允许间接递归调用

B. C程序中各函数之间不允许直接递归调用,也不允许间接递归调用

C. C程序中各函数允许直接递归调用,不允许间接递归调用

D. C程序中各函数之间不允许直接递归调用,允许间接递归调用

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

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

选项:

A. 一个变量的作用域完全取决于变量定义语句的位置

B. 全局变量可以在函数以外的任何部位进行定义

C. 局部变量的“生存期”只限于本次函数调用,因此不可能将局部变量的运算结果保存至下一次调用

D. 一个变量说明为static存储类别是为于限制其它编译单位的引用

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

问题 208: 5. C语言中规定函数的返回值的类型是由( )。

选项:

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

B. 调用该函数时的主调用函数类型所决定

C. 调用该函数时系统临时决定

D. 在定义该函数时所指定的函数类型所决定

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

问题 209: 6. 以下所列的各函数首部中,正确的是()。

选项:

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

B. void play(int a,b)

C. void play(int a,int b)

D. sub play(a as integer,b as integer)

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

问题 210: 7. 以下程序中函数f的功能是:当flag为4时,进行有小到大排序;当flag为0时,进行由大到小排序。void f(int b[],int n,int flag){ int i,j,t; for(i=0;ib[j+1]:b[j]

选项:

A. 1,2,3,4,5,6,7,8,9,10,

B. 3,4,5,6,7,2,1,8,9,10,

C. 5,4,3,2,1,6,7,8,9,10,

D. 10,9,8,7,6,5,4,3,2,1,

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

问题 211: 8. 设有如下函数定义  int fun(int k)  { if (k<1) return 0;   else if(k==1) return 1;   else return fun(k-1)+1;  }若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是( )。

选项:

A. 2

B. 3

C. 4

D. 5

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

问题 212: 9. 以下程序的主函数中调用了在其前面定义的fun函数#include void main(){double a[15],k; k=fun(a);}则以下选项中错误的fun函数首部是()。

选项:

A. double fun(double a[15])

B. double fun(double *a)

C. double fun(double a[])

D. double fun(double a)

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

问题 213: 10. 有以下程序 #include "stdio.h" void change(int k[ ]){ k[0]=k[5]; } void main() { int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while( n<=4 ) { change( &x[n]) ; n++; } for(n=0; n<5; n++) printf("%d ",x[n]); printf("\n"); }程序运行后输出的结果是( )。

选项:

A. 6 7 8 9 10

B. 1 3 5 7 9

C. 1 2 3 4 5

D. 6 2 3 4 5

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

问题 214: 11. 下面程序的运行结果是 ( )。 #include “stdio.h” int f(int a[],int n) { if(n>1) return a[0] + f(a+1, n-1); else return a[0]; } void main() { int aa[10]={1,2,3,4,5,6,7,8,9,10}, s; s = f(aa+2,4); printf("%d\n", s); }

选项:

A. 16

B. 18

C. 20

D. 22

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

问题 215: 12. 有以下程序#include “stdio.h” int fun(int x, int y){ return (x+y); } void main() { int a=1, b=2, c=3, sum; sum=fun((a++,b++,a+b),c++); printf("%d\n",sum); }执行后的输出结果是( )。

选项:

A. 6

B. 7

C. 8

D. 9

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

问题 216: 13. 有以下程序 int fun(int x) { int p; if(x==0||x==1) return(3); p=x-fun(x-2); return p; } void main() { printf("%d\n",fun(7)); }执行后的输出结果是( )。

选项:

A. 7

B. 3

C. 2

D. 0

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

问题 217: 14. 有以下程序#include void num(){ extern int x,y; int a=15,b=10; x=a-b; y=a+b;}int x,y;void main(){ int a=7,b=5; x=a-b; y=a+b; num(); printf("%d,%d\n",x,y);}执行后的输出结果是( )。

选项:

A. 12,2

B. 5,25

C. 1,12

D. 输出不确定

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

问题 218: 15. int func(int a,int b){ return (a+b); }void main(){ int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r);}该程序的输出结果是()

选项:

A. 12

B. 13

C. 14

D. 15

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

问题 219: 16. 下列叙述中正确的是()。

选项:

A. C语言编译时不检查语法。

B. C语言的子程序有过程和函数两种。

C. C语言的函数可以嵌套定义

D. C语言的函数可以嵌套调用。

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

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

选项:

A. int

B. 不确定

C. void

D. float

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

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

选项:

A. 调用printf函数时,必须要有输出项。

B. 使用putchar函数时,必须在之前包含头文件stdio.h

C. 在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D. 调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

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

问题 222: 19. avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10 ,则下列函数说明语句错误的是()。

选项:

A. int avg(int *a,int n);

B. int avg(int a[10],int n);

C. int avg(int a,int n);

D. int avg(int a[],int n);

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

问题 223: 20. 下面叙述中错误的是()。

选项:

A. c语言的函数可以单独编译。

B. c语言程序是由函数组成的。

C. c语言的函数就是一段程序。

D. c语言的函数可以直接使用,无需事先定义或声明。

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

问题 224: 1. 指针的含义是( )。

选项:

A. 值

B. 地址

C. 名

D. 一个标志

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

问题 225: 2. 以下叙述错误的是()。

选项:

A. 指针可以进行加、减等算术运算

B. 指针中存放的是地址值

C. 指针是一个变量

D. 执政变量不占用存储空间

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

问题 226: 3. 对于基类型相同的两个指针变量之间,不能进行的运算是()。

选项:

A. <

B. =

C. +

D. -

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

问题 227: 4. 若已定义a为int型变量,则以下语句正确的是( )。

选项:

A. int *p=a;

B. int *p=*a;

C. int p=&a;

D. int *p=&a;

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

问题 228: 5. 若有定义“int x,*pb;”,则以下正确的赋值表达式是( )。

选项:

A. pb=&x

B. pb=x

C. *pb=&x

D. *pb=*x

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

问题 229: 6. 下面的语句段中,for循环的执行次数是( )。char *s="\ta\018bc";for(;*s!= '\0';s++) printf("*");

选项:

A. 5

B. 6

C. 7

D. 8

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

问题 230: 7. 设有以下定义和语句char str[20]="Program",*p;p=str;则以下叙述中正确的是()。

选项:

A. *p与str[0]的值相等

B. str与p的类型完全相同

C. str数组长度和p所指向的字符串长度相等

D. 数组str中存放的内容和指针变量p中存放的内容相同

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

问题 231: 8. 若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是()。

选项:

A. 以下两处的*p含义相同,都说明给指针变量p赋值

B. 在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元

C. 语句“*p=r;”把变量r的地址值赋给指针变量p

D. 语句“*p=r;”取变量r的值放回r中

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

问题 232: 9. 若有定义“int *p[3];”,则以下叙述正确的是( )。

选项:

A. p是一个指针数组

B. p是一个指针,它只能指向一个每行包含3个int类型元素的二维数组

C. p是一个指针,它可以指向一个一维数组中的任意元素

D. (*p)[3]与*p[3]等价

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

问题 233: 10. 在以下定义中,标识符p( )。int (*p)[3];

选项:

A. 定义不合法

B. 是一个指针数组名,每个元素是一个指向整数变量的指针

C. 是一个指针,它指向一个具有三个元素的一维数组

D. 是一个指向整型变量的指针

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

问题 234: 11. 设有说明int(*ptr)[m]; 其中的标识符ptr是()。

选项:

A. M个指向整型变量的指针

B. 指向M个整型变量的函数指针

C. 一个指向具有M个整型元素的一维数组的指针

D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量

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

问题 235: 12. 下列函数的功能是()fun(char * a,char * b){ while((*b=*a)!='\0') {a++,b++;} }

选项:

A. 将a所指字符串赋给b所指空间

B. 使指针b指向a所指字符串

C. 将a所指字符串和b所指字符串进行比较

D. 检查a和b所指字符串中是否有'\0'

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

问题 236: 13. 若有以下定义和赋值语句,则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为()。int s[2][3]={0},(*p)[3];p=s;

选项:

A. *(p+i)+j

B. *(p[i]+j)

C. (p+i)+j

D. (*(p+i))[j]

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

问题 237: 14. 若有定义“int a[4][6];”,则能正确表示数组a中任一元素a[i][j](此处0≤i<4,0≤j<6)地址的表达式是()。

选项:

A. &a[0][0]+6*i+j

B. &a[0][0]+4*j+i

C. &a[0][0]+4*i+j

D. &a[0][0]+6*j+i

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

问题 238: 15. 若有以下定义,则数值不为3的表达式是( )。 int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;

选项:

A. x[3]

B. p1=x+3,*p1++

C. p1=x+2,*(p1++)

D. p1=x+2,*++p1

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

问题 239: 16. 若有以下说明语句:static int i,a[2][3]={1,3,5,7,9,11}; int m,n;且0≤m≤1,0≤n≤2,则以下( )是对数组元素的正确引用。

选项:

A. a[m]+n

B. *(a+5)

C. *(*(a+m)+3)

D. *(*(a+m)+n)

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

问题 240: 17. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()。

选项:

A. k=*p1+*p2;

B. p2=k;

C. p1=p2;

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

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

问题 241: 18. 以下程序的运行结果是( )。#include void main(){ int x[5]={2,4,6,8,10},*p,**pp; p=x; pp=&p; printf("%d ",*(p++)); printf("%d\n",**pp);}

选项:

A. 4 4

B. 2 4

C. 2 2

D. 4 6

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

问题 242: 19. 以下程序的运行结果是( )。#include #include void main(){ char *p1,*p2,str[50]= "abc",st[50]= "abc"; p1=st; p2="abc"; strcpy(str+1, strcat(p1,p2)); printf("%s\n",str);}

选项:

A. abcabcabc

B. bcabcabc

C. aabcabc

D. cabcabc

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

问题 243: 20. 若有以下定义和语句,则“*--p”的值是()int a[4]={0,1,2,3},*p;p=&a[2];

选项:

A. 0

B. 1

C. 2

D. 3

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

电话咨询