admin 管理员组文章数量: 1086019
2025年1月1日发(作者:25的原码怎么算)
1 . C语言中规定函数的返回值的类型是由( )。
A.return语句中的表达式类型所决定
B.调用该函数时系统临时决定
C. 调用该函数时的主调用函数类型所决定
D. 在定义该函数时所指定的函数类型所决定
参考答案:D
2 . 以下不能正确进行字符串赋初值的语句是____。
A.char str[5]="good“
B.! char str[]=good
C.! char *str=good
D.! char str[5]={'g','o','o','d'}!
参考答案:A
3 . C语言中_______。
A.能使用do-while语句构成的循环
B.do-while语句构成的循环必须用break语句才能退出
C. do-while语句构成的循环,当while语句中的表达式为非零时结束循环
D. do-while语句构成的循环,当while语句中的表达式值小于零时结束循环
参考答案:A
4 . 以下选项中,与k=n++完全等价的表达式是_____。
A.k=n,n=n+1
B.n=n+1,k=n
C. k=++n
D. k+=n+1
参考答案:A
5 . 有定义语句:int b;char c[10]; ,则正确的输入语句是_____。
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C. scanf("%d%s",b,c);
D. scanf("%d%s",b,&c);
参考答案:B
6 . 若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。
A.&aa[0]+1
B.&aa[1]
C. &aa[0]++
D. aa+1
参考答案:D
7 . 若 i 、 j 已定义为 int 型,则以下程序段中语句 printf( “ %d ” ,i*j); 的执行次数
是_____。 for ( i=3;i>0;i-- ) for ( j=0;j<4;j++ ) printf( “ %d ” ,i*j);
A.12
B.15
C.16
D.20
参考答案:A
8 . int a=3,b=2;printf(“%d,%dn”,--a,b++);输出结果是( )。
A.2,2
B.2,3
C. 3,2
D. 3,3
参考答案:A
9 . 以下程序段 ,正确的说法是______。 x = -1; do { x=x*x;} while(!x);
A.死循环
B.循环一次
C. 循环两次
D. 有语法错误
参考答案:B
10 . 若定义char ch[8],则以下表达式中____不能代表数组元素ch[1]的地址。
A.&ch[0]+1
B.&ch[1]
C. &ch[0]++
D. ch+1
参考答案:C
11 . 下列描述中不正确的是____。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C. 可以对整型数组进行整体输入、输出
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
参考答案:C
12 . 下面正确的函数定义形式是______。
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);
参考答案:C
13 . 下述对C语言字符数组的描术中错误的是____。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C. 可以在赋值语句通过赋值运算符“=”对字符数组整体赋值
D. 不可以用关系运算符对字符数组中的字符串进行比较
参考答案:C
14 . 有下列程序段,while循环执行的次数是_____。 int k=0; while(k=1) k++;
A.无数次
B.有语法错,不能执行
C. 一次也不执行
D. 执行一次
参考答案:A
15 . 已知char ch[]=”my name”;则字符数组ch的长度是_____。
A.6
B.7
C.8
D.9
参考答案:C
16 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。
A.1
B.2
C.5
D.4
参考答案:B
17 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A.a[4]
B.a[a[2]+1]
C. a[a[2]]
D. a[3]+1
参考答案:C
18 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)
for(j=0;j<4;j++){...}
A.20
B.25
C.24
D.30
参考答案:A
19 . 以下的for循环是______。 for(x=0,y=0; (y!=123)&&(x<4); x + + );
A.是无限循环
B.循环次数不定
C. 执行4次
D. 执行3次
参考答案:C
20 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1
的正确语句是( )。
A.str1={"books"};
B.strcpy(str1,str2);
C. str1=str2;
D. strcpy(str2,str1);
参考答案:B
1 . 内存单元的地址与内存单元中的内容是两个相同的内容。
对 错
参考答案:错
2 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。
对 错
参考答案:对
3 . 下列程序段的输出结果是hello main() { char b[]="Hello,you"; b[5]=0; printf("%s n", b ); }
对 错
参考答案:对
4 . 对于二维数组a[2][3],则a[1]表示是第二行的首地址。
对 错
参考答案:对
5 . 一个数组能够存储不同类型的数据。
对 错
参考答案:错
6 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。
对 错
参考答案:错
7 . 在定义数组变量时,可以不指定数组的长度。
对 错
参考答案:错
8 . 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个
数是4。
对 错
参考答案:错
9 . break是结束本次循环,而continue是结束所有的循环。
对 错
参考答案:错
10 . 对于任何函数,它都有一个返回值。
对 错
参考答案:对
1要把高级语言编写的源程序转换为目标程序,需要使用_______。
A.编辑程序
B.驱动程序
C. 诊断程序
D. 编译程序
参考答案:D
答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语
言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程
序经编译程序翻译形成可由计算机执行的目标程序的过程,C语言是编译型语言。
2 . 下列______属于C语言中字符常量。
A.abc'
B.”n”
C. 'a'
D. 'a0'
参考答案:C
3 . C语言对嵌套if语句的规定是:else总是和_____配对。
A.其之前最近的if
B.第一个if
C. 缩进位置相同的if
D. 其前面最近且尚未配对的if
参考答案:D
4 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。
A.a:=b+1
B.a=b=c+2
C. int 18.5%3
D. a=a+7=c+b
参考答案:B
5 . 以下运算符中优先级最低的运算符是_____。
A.&&
B.&
C. ||
D. =
参考答案:D
答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、
=
6 . 已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A.0
B.6
C.-24
D.-60
参考答案:A
答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=4,然后由右向
左开始,a-=4相当于a=a-4=4-4=0,然后a+=0相当于a=a+0=0+0=0
7 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
参考答案:D
8 . 以下叙述中错误的是_____。
A.用户所定义的标识符允许使用关键字
B.用户所定义的标识符应尽量做到“见名知意
C. 用户所定义的标识符必须以字母或下划线开头
D. 用户定义的标识符中,大、小写字母代表不同标识
参考答案:A
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
9 . 二进制语言是属于面向_____的语言。
A.机器
B.过程
C. 问题
D. 对象
参考答案:A
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进
制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。
10 . C语言程序从main()函数开始执行,所以这个函数要写在____。
A.程序文件的开始
B.程序文件的最后
C. 它所调用的函数的前面
D. 程序文件的任何位置
参考答案:D
11 . 以下选项中属于C语言的数据类型的_____。
A.复数型
B.逻辑型
C. 双精度型
D. 集合型
参考答案:C
12 . 以下选项中不属于C语言的类型的是_____。
A.signed short int
B.unsigned long int
C. unsigned int
D. long short
参考答案:D
13 . C语言程序中,下列( )组标识符是合法。
A.abc、2id、while
B.4d、DO、oodb
C. str_1、print、aBc
D. WORD、oodb、Iamm
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
14 . 若定义 int m=7,n=12; 则能得到值为3的表达式是( )
A.n%=(m%=5)
B.n%=(m-m%5)
C. n%=m-m%5
D. (n%=m)-(m%=5)
参考答案:D
答案解析: 详见第2章-2 运算符和表达式-符合赋值运算符
15 . 下面表示正确的是_____。
A.C语言中的逗号是一种运算符
B.在C语言中,一行只能有一个语句
C. C中的变量不区分大小写
D. c中的关键字可以做为变量名
参考答案:A
16 . 以下_______不是高级语言。
A.Basic语言
B.C语言
C. JAVA语言
D. 汇编语言
参考答案:D
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言。
17 . 以下正确的叙述______。
A.在C程序中,每行只能写一条语句
B.若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C. 在C程序中,无论是整数还是实数,都能被正确无误的表示
D. 在C程序中,%是只能用于整数的运算符
参考答案:B
18 . 以下叙述中错误的是______。
A.C程序中的 #include和 #define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C. C程序中,j++;是赋值语句
D. C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
参考答案:D
答案解析: D选项中,%只能用于整型数据的运算。
19 . 已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为( )。
A.6,5
B.0,3
C. 0,5
D. -4,2
参考答案:B
答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符的几个规则:(1)复合赋值复
合运算符的左边必须是变量。(2)复合赋值运算符右边的表达式计算完成后才参与复合赋值
运算。(3)复合赋值运算的优先级符合C语言运算符的优先级规则,结合方向为从右到左。
因此:首先x*=y运算后x=6y=3,然后x-=6运算后x=0y=3,继续y+=0运算后x=0y=3。
20 . 设有语句char a=’72’;则变量a____。
A.包含1个字符
B.包含2个字符
C. 包含3个字符
D. 说明不合法
参考答案:A
判断题(共10题,每题 2分)
1 . 假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
对 错
参考答案:错
2 . C程序一般由一个或者多个函数组成,它们可以集中放在一个文件中,也可分散放在
几个文件中。
对 错
参考答案:对
3 . C语言中,每个程序都必须要有一个且只有一个main函数。
对 错
参考答案:对
答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且
在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序
必须有并且只能有一个main函数。
4 . 只能在循环体内和switch语句体内使用break语句。
对 错
参考答案:对
5 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。
对 错
参考答案:对
6 . c程序是由c文件构成,而c文件是由函数构成。
对 错
参考答案:对
7 . 逻辑运算符的优先级比算术运算符高。
对 错
参考答案:对
8 . 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
对 错
参考答案:对
9 . c语言中,每个函数都必须要有一个且只有一个main函数。
对 错
参考答案:错
10 . x的绝对值小于10的条件表达式是x-10
对 错
参考答案:错
已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A.-3 4
B.-2 4
C. -3 3
D. -2 3
参考答案:B
2 . 若有定义:int aa[8];则以下表达式中不能代表数组元aa[1]的地址的是_____。
A.&aa[0]+1
B.&aa[1]
C. &aa[0]++
D. aa
参考答案:D
3 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有( )个实参。
A.1
B.2
C.3
D.6
参考答案:C
4 . 下列描述中不正确的是____。
A.字符型数组中可以存放字符串
B.可以对字符型数组进行整体输入、输出
C. 可以对整型数组进行整体输入、输出
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
参考答案:C
5 . 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
A.地址传递
B.单向值传递
C. 由实参传给形参,再由形参传回实参
D. 传递方式由用户指定
参考答案:B
6 . 若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( )。 for (i=3;i>0;i--)
for (j=0;j<4;j++){...}
A.12
B.15
C.16
D.20
参考答案:B
7 . 有定义语句:int b;char c[10]; ,则正确的输入语句是_____。
A.scanf("%d%s",&b,&c);
B.scanf("%d%s",&b,c);
C. scanf("%d%s",b,c);
D. scanf("%d%s",b,&c);
参考答案:B
8 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。
A.1
B.2
C.5
D.4
参考答案:B
9 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为4的表达式是_____。
A.a[4]
B.a[a[2]+1]
C. a[a[2]]
D. a[3]+1
参考答案:C
10 . 以下程序段 ,正确的说法是______。 x = -1; do { x=x*x;} while(!x);
A.死循环
B.循环一次
C. 循环两次
D. 有语法错误
参考答案:B
11 . 已知char ch[]=”my name”;则字符数组ch的长度是_____。
A.6
B.7
C.8
D.9
参考答案:C
12 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)
for(j=0;j<4;j++){...}
A.20
B.25
C.24
D.30
参考答案:A
13 . 以下语句:int b; char c[10];则正确的输入语句是_______。
A.scanf(“%d%s”,&b,&c);
B.scanf(“%d%s”,&b, c);
C. scanf(“%d%s”, b, c);
D. scanf(“%d%s”,b,&c);
参考答案:B
14 . 以下的for循环是______。 for(x=0,y=0; (y!=123)&&(x<4); x + + );
A.是无限循环
B.循环次数不定
C. 执行4次
D. 执行3次
参考答案:C
16 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A.a[4]
B.a[a[2]+1]
C. a[a[2]]
D. a[3]+1
参考答案:C
17 . 若有初始化语句int a[5]={1,2,3,4,5}; ,值为 5 的表达式是( )。
A.a[2]
B.a[a[2]+1]
C. a[a[2]]
D. a[2]+1
参考答案:B
19 . int a=3,b=2;printf(“%d,%dn”,--a,b++);输出结果是( )。
A.2,2
B.2,3
C. 3,2
D. 3,3
参考答案:A
20 . 若有定义char ch[8],则以下不能代表数组元素ch[1] 的地址是_____。
A.&ch[0]+1
B.&ch[1]
C. &ch[0]++
D. ch+1
参考答案:C
判断题(共10题,每题 2分)
1 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1
的正确语句是strcpy(str2,str1);。
对 错
参考答案:错
2 . 对于任何函数,它都有一个返回值。
对 错
参考答案:对
3 . 下列程序段的输出结果是hello main() { char b[]="Hello,you"; b[5]=0; printf("%s n", b ); }
对 错
参考答案:对
4 . getch()和getche()函数的功能相同。
对 错
参考答案:错
5 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。
对 错
参考答案:对
6 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。
对 错
参考答案:对
7 . C语言中规定函数的返回值的类型是由return语句中的表达式类型所决定。
对 错
参考答案:错
8 . 内存单元的地址与内存单元中的内容是两个相同的内容。
对 错
参考答案:错
9 . 对于二维数组a[2][3],则a[1]表示是第二行的首地址。
对 错
参考答案:对
10 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。
对 错
参考答案:错
下列变量名中合法的是______。
A.
B.3a6b
C. _6a7b
D. $ABC
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
2 . 以下叙述中错误的是_____。
A.用户所定义的标识符允许使用关键字
B.用户所定义的标识符应尽量做到“见名知意
C. 用户所定义的标识符必须以字母或下划线开头
D. 用户定义的标识符中,大、小写字母代表不同标识
参考答案:A
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
3 . 已知在ascii代码中,字母a的序号为65,以下程序的输出的结果是_____。
#includemain(){ char c1=’a’, c2=’y’;printf(%d,%dn,c1,c2); }
A.因输出格式不合法,输出错误信息
B.65,90
C. A,Y
D. 65,89
参考答案:D
4 . C语言是_______语言。
A.高级
B.中级
C. 机器
D. 汇编
参考答案:A
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言,高级语言与具体的计算机硬件平台无关,更符合人类叙述问题
的习惯,常见的有C、JAVA、C#等,并且C是编译型语言。
5 . 已知int a=1;执行语句a+=a-=a*a;后,a的值是_______。
A.0
B.1
C.-1
D.2
参考答案:A
答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=1,然后由右向
左开始,a-=1相当于a=a-1=1-1=0,然后a+=0相当于a=a+0=0+0=0
6 . 以下说法正确的是_____。
A.C语言程序总是从第一个的函数开始执行
B.在C语言程序中,要调用的函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
参考答案:C
7 . 将高级语言编写的程序翻译成目标程序的是_______程序。
A.解释程序
B.编译程序
C. 汇编程序
D. 源程序
参考答案:B
答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语
言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程
序经编译程序翻译形成可由计算机执行的目标程序的过程。
8 . 下列____________数据类型属于构造类型。
A.数组类型
B.指针类型
C. 整型
D. 字符型
参考答案:A
9 . 设有语句char a=’72’;则变量a____。
A.包含1个字符
B.包含2个字符
C. 包含3个字符
D. 说明不合法
参考答案:A
10 . 要把高级语言编写的源程序转换为目标程序,需要使用_______。
A.编辑程序
B.驱动程序
C. 诊断程序
D. 编译程序
参考答案:D
答案解析: 详见第1章-1 程序设计和程序设计与语言,把高级语言的源程序翻译成机器语
言的目标程序主要有两种方式:编译方式和解释方式,编译方式是指将用高级语言编写的程
序经编译程序翻译形成可由计算机执行的目标程序的过程,C语言是编译型语言。
11 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。
A.a:=b+1
B.a=b=c+2
C. int 18.5%3
D. a=a+7=c+b
参考答案:B
12 . C语言程序中,下列______组用户标识符是合法。
A.abc、_2id、while
B.4d、DO、oodb
C. str_1、print、aBc
D. WORD、oodb、Iamm
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
13 . C语言程序的基本单位是_______。
A.程序行
B.语句
C. 函数
D. 字符
参考答案:C
14 . C语言程序中,下列( )组标识符是合法。
A.abc、2id、while
B.4d、DO、oodb
C. str_1、print、aBc
D. WORD、oodb、Iamm
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
15 . 以下运算符中优先级最低的运算符是_____。
A.&&
B.&
C. ||
D. =
参考答案:D
答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、
=
16 . 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。
A.1
B.3
C.2
D.2.5
参考答案:C
17 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
参考答案:D
18 . 在C语言中,属于单目运算符的是____。
A.%
B./
C. <
D. !
参考答案:D
19 . 执行以下程序段后, x, y和z的值分别是______。int x=10,y=20,z=30;if(x>y) z=x; x=y;
y=z;
A.10,20,30
B.20,30,30
C. 20,30,10
D. 20,30,20
参考答案:B
20 . 二进制语言是属于面向_____的语言。
A.机器
B.过程
C. 问题
D. 对象
参考答案:A
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进
制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。
1 . 在if-else语句中,配对规则是else总是与最近的未配对的if配对。
对 错
参考答案:对
2 . 逻辑运算符的优先级比算术运算符高。
对 错
参考答案:错
3 . x的绝对值大于5的条件表达式是x-5。
对 错
参考答案:错
4 . 表达式a=a+b可以写成a+=b。
对 错
参考答案:对
5 . 表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。
对 错
参考答案:对
6 . c语言中,每个函数都必须要有一个且只有一个main函数。
对 错
参考答案:错
7 . x的绝对值小于10的条件表达式是x-10
对 错
参考答案:错
8 . 在C语言中,变量不区分大小写。
对 错
参考答案:错
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
9 . C语言中,每个程序都必须要有一个且只有一个main函数。
对 错
参考答案:对
答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且
在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序
必须有并且只能有一个main函数。
10 . c程序是由c文件构成,而c文件是由函数构成。
对 错
参考答案:对
已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1的正
确语句是( )。
A.str1={"books"};
B.strcpy(str1,str2);
C. str1=str2;
D. strcpy(str2,str1);
参考答案:B
2 . 在C语言中,函数的数据类型是指_______。
A.函数返回值的数据类型
B.函数形参的数据类型
C. 调用该函数时的实参的数据类型
D. 任意指定的数据类型
参考答案:A
3 . 若有初始化语句“ int a[5]={1,2,3,4,5}; ”,值为 4 的表达式是_____。
A.a[4]
B.a[a[2]+1]
C. a[a[2]]
D. a[3]+1
参考答案:C
4 . 下面正确的函数定义形式是______。
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);
参考答案:C
5 . 有下列程序段,while循环执行的次数是_____。 int k=0; while(k=1) k++;
A.无数次
B.有语法错,不能执行
C. 一次也不执行
D. 执行一次
参考答案:A
6 . 下面叙述中正确的______。
A.对于用户自己定义的函数,在使用前必须加以说明
B.说明函数时必须明确其参数类型和返回类型
C. 函数可以返回一个值,也可以什么值也不返回
D. 空函数不完成任何操作,所以在程序设计中没有用处
参考答案:C
7 . func((exp1,exp2),(exp3,exp4,exp5));下面函数调用语句含有实参的个数为_____。
A.1
B.2
C.5
D.4
参考答案:B
8 . 已知int m,n,i=2;执行语句m=-i++;n=++i;后,m和n的值分别是_____。
A.-3 4
B.-2 4
C. -3 3
D. -2 3
参考答案:B
9 . 若有定义char ch[8],则以下不能代表数组元素ch[1] 的地址是_____。
A.&ch[0]+1
B.&ch[1]
C. &ch[0]++
D. ch+1
参考答案:C
10 . 以下正确的函数声明形式是______。
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);
参考答案:C
12 . 下列( )不属于结构化程序设计的循环结构。
A.for
B.while
C. if-else
D. do-while
参考答案:C
13 . 合法的数组定义是________。
A.int a[]="string";
B.int a[5]={0,1,2,3,4,5};
C. vhst s="string";
D. char a[]={0,1,2,3,4,5};
参考答案:D
14 . 若定义char ch[8],则以下表达式中____不能代表数组元素ch[1]的地址。
A.&ch[0]+1
B.&ch[1]
C. &ch[0]++
D. ch+1
参考答案:C
15 . 下述对C语言字符数组的描术中错误的是____。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输出
C. 可以在赋值语句通过赋值运算符“=”对字符数组整体赋值
D. 不可以用关系运算符对字符数组中的字符串进行比较
参考答案:C
16 . 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
A.地址传递
B.单向值传递
C. 由实参传给形参,再由形参传回实参
D. 传递方式由用户指定
参考答案:B
17 . 若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是_____。 for (i=5;i;i--)
for(j=0;j<4;j++){...}
A.20
B.25
C.24
D.30
参考答案:A
19 . 有以下程序段执行后,b的值是_____。 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[4];
A.5
B.6
C.8
D.9
参考答案:C
1 . 在定义数组变量时,可以不指定数组的长度。
对 错
参考答案:错
2 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。
对 错
参考答案:对
3 . func(ex1,(ex2,ex3),(ex4,ex5,ex6));含3个实参。
对 错
参考答案:对
4 . break是结束本次循环,而continue是结束所有的循环。
对 错
参考答案:错
5 . 内存单元的地址与内存单元中的内容是两个相同的内容。
对 错
参考答案:错
6 . 已知:char str1[10],str2[10]={"books"};则在程序中能够将字符串“books”赋给数组str1
的正确语句是strcpy(str2,str1);。
对 错
参考答案:错
7 . 对于二维数组a[2][3],则a[2]表示是第二行的首地址。
对 错
参考答案:错
8 . 设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 10,2 。
printf("%d,%dn",x--,--y);
对 错
参考答案:对
9 . 在C语言中,for循环的表达式一是必须要的。
对 错
参考答案:错
10 . 对于任何函数,它都有一个返回值。
对 错
参考答案:对
3 . 有以下函数定义:void fun(int n, double x) { …… }如果对此函数正确定义并赋值,则
对函数fun的正确调用语句是______。
A.fun(int y,double m);
B.k=fun(10,12.5);
C. fun(x,n)
D. void fun(n,x);
参考答案:C
执行下面程序片段的结果是______。 int x=23; do { printf("%2d",x--);} while(!x);
A.打印出321
B.打印出23
C. 不打印任何内容
D. 陷入死循环
参考答案:B
16 . 设i、j均为整形变量,且i=9,j=2,则printf(“%d,%dn”,i--,--j);语句的输出结果是_____。
A.9,2
B.10,2
C. 9,1
D. 10,1
参考答案:C
1 . 若变量已正确定义并赋值,下面符合C语言语法的表达式是______。
A.a:=b+1
B.a=b=c+2
C. int 18.5%3
D. a=a+7=c+b
我的答案: B
参考答案:B
答案解析: 暂无
2 . 与十进制数87相等的十六进制数是( )。
A.3F
B.214
C.57
D.127
我的答案: C
参考答案:C
答案解析: 暂无
3 . 以下运算符中优先级最低的运算符是_____。
A.&&
B.&
C. ||
D. =
我的答案: C
参考答案:D
答案解析: 详见教材附录A 运算符的优先级和结合性,优先级从高到低排序:&、&&、||、
=
4 . 已知int a=4;执行语句a+=a-=(a-2)*(a-2);后,a的值是_______。
A.0
B.6
C.-24
D.-60
我的答案: C
参考答案:A
答案解析: 详见第2章-2 运算符和表达式,符合赋值运算符,首先a+=a-=4,然后由右向
左开始,a-=4相当于a=a-4=4-4=0,然后a+=0相当于a=a+0=0+0=0
5 . 二进制语言是属于面向_____的语言。
A.机器
B.过程
C. 问题
D. 对象
我的答案: A
参考答案:A
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言,机器语言是用计算机直接能理解和执行的由0和1组成的二进
制编码表示的命令,机器语言是面向机器的语言,计算机能直接识别,执行效率高。
6 . 以下说法不正确的是_____。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,aph和aPh是两个不同的变量
C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不
变
D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数
我的答案: D
参考答案:D
答案解析: 暂无
7 . 若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输
入是______。
A.5,6 ,7
B.5回车换行 6 7
C.5 6 7
D.5,6,7
我的答案: A
参考答案:A
答案解析: 详见第2章-4 数据的输出和输入-数据分隔,调用scanf()函数进行数值型数据
输入时,遇到以下几种情况则认为数据输入结束:(1)遇空格、回车符或制表符(Tab)。(2)
达到指定的宽度。(3)遇到非法输入。
8 . 下面表示正确的是_____。
A.C语言中的逗号是一种运算符
B.在C语言中,一行只能有一个语句
C. C中的变量不区分大小写
D. c中的关键字可以做为变量名
我的答案: A
参考答案:A
答案解析: 暂无
9 . 在C语言中,属于单目运算符的是____。
A.%
B./
C. <
D. !
我的答案: D
参考答案:D
答案解析: 暂无
10 . 以下正确的叙述______。
A.在C程序中,每行只能写一条语句
B.若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C. 在C程序中,无论是整数还是实数,都能被正确无误的表示
D. 在C程序中,%是只能用于整数的运算符
我的答案: C
参考答案:B
答案解析: 暂无
11 . C语言程序中,下列______组用户标识符是合法。
A.For、-sub、Case
B.4d、DO、Size
C. f2_G3、IF、abc
D. WORD、void、define
我的答案: C
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
12 . 以下叙述中错误的是______。
A.C程序中的 #include和 #define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C. C程序中,j++;是赋值语句
D. C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
我的答案: D
参考答案:D
答案解析: D选项中,%只能用于整型数据的运算。
13 . C语言程序的基本单位是_______。
A.程序行
B.语句
C. 函数
D. 字符
我的答案: C
参考答案:C
答案解析: 暂无
14 . 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是____。
A.1
B.3
C.2
D.2.5
我的答案: B
参考答案:C
答案解析: 暂无
15 . 设x和y均为int 型变量,则以下语句:x+y=y;y=x-y;y=x-y;x-=y;的功能是____。
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C. 无确定结果
D. 交换x和y中的值
我的答案: D
参考答案:D
答案解析: 暂无
16 . 以下_______不是高级语言。
A.Basic语言
B.C语言
C. JAVA语言
D. 汇编语言
我的答案: D
参考答案:D
答案解析: 详见第1章-1 程序设计和程序设计与语言,根据程序设计语言与计算机硬件的
联系程度,分为机器语言、汇编语言、高级语言三种,机器语言和汇编语言比较依赖于计算
机硬件,又被称为低级语言。
17 . C语言程序中,下列______组用户标识符是合法。
A.abc、_2id、while
B.4d、DO、oodb
C. str_1、print、aBc
D. WORD、oodb、Iamm
我的答案: C
参考答案:C
答案解析: 详见第2章-2 常量、数据的存储与数据类型,标识符的命名规则:(1)只能由
字母(a~z,a~z)、数字(0~9)、下划线(_)组成的字符串构成,并且其第一个字符必须是
字母或下划线。(2)在标识符中,大小写是有区别的。(3)c语言的关键字不能用作变量名,
如不能把变量命名为for。(4)命名标识符时应尽量有相应的意义,以便于阅读理解,做到
“顾名思义”,如例2-1中area。(5)c标识符的长度无统一的规定,一般不超过128个字
符。
18 . 以下选项中属于C语言的数据类型的_____。
A.复数型
B.逻辑型
C. 双精度型
D. 集合型
我的答案: C
参考答案:C
答案解析: 暂无
19 . 下面说法错误的是______。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C. 变量必须限定以后使用
D. 字符串的长度不等于它占的字节数
我的答案: B
参考答案:B
答案解析: 暂无
20 . 字符型常量在内存中存放的是______代码值。
A.ASCII
B.二进制
C. 十进制
D. 八进制
我的答案: A
参考答案:A
答案解析: 暂无
判断题(共10题,每题 2分)
1 . 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
对 错
我的答案: 错
参考答案:对
答案解析: 暂无
2 . 字符型常量在内存中存放的是ASCII代码值。
对 错
我的答案: 对
参考答案:对
答案解析: 暂无
3 . x的绝对值小于10的条件表达式是x-10
对 错
我的答案: 错
参考答案:错
答案解析: 暂无
4 . 逻辑运算符的优先级比算术运算符高。
对 错
我的答案: 错
参考答案:对
答案解析: 暂无
5 . x的绝对值大于5的条件表达式是x-5。
对 错
我的答案: 错
参考答案:错
答案解析: 暂无
6 . C语言中,每个程序都必须要有一个且只有一个main函数。
对 错
我的答案: 对
参考答案:对
答案解析: 详见第1章-3 简单C语言程序,每个C程序都是从main函数开始执行,并且
在main函数结束,一个C程序可以由一个或多个不同命名函数组成,但是可执行的C程序
必须有并且只能有一个main函数。
7 . 表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。
对 错
我的答案: 对
参考答案:对
答案解析: 暂无
8 . 在if-else语句中,配对规则是else总是与最近的未配对的if配对。
对 错
我的答案: 对
参考答案:对
答案解析: 暂无
9 . c语言中,每个函数都必须要有一个且只有一个main函数。
对 错
我的答案: 错
参考答案:错
答案解析: 暂无
10 . 只能在循环体内和switch语句体内使用break语句。
对 错
我的答案: 对
参考答案:对
答案解析: 暂无
版权声明:本文标题:C语言 第2次作业 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735762084a1689584.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论