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
答案: 请关注公众号【渝开搜题】查看答案
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。