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,下面程序的输出是()
#include
void 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 10
int 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 10
int 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. ABCD
FGH
KL
• B. ABCD
EFG
IJ
M
• C. EFG
JK
0
• D. EFGH
IJKL
答案: 请关注公众号【渝开搜题】查看答案
问题 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 咨询。