admin 管理员组文章数量: 887675
2024年2月21日发(作者:删除表的sql命令是什么)
第一章 C语言概述
一.选择题
1.一个C程序的执行是从 。
A.程序的main函数开始,到main函数结束
B.程序文件的第一个函数开始,对本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述正确的是 。
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是 。
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
二.填空题
1.C源程序的基本单位是 函数 。
2.一个C源程序中至少应包括一个 主函数或main函数 。
3.在一个C源程序中,注释部分两侧的分界符分别为 /* 和 */ 。
1
第二章 数据的存储与运算
一.选择题
1.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 。
x=(i=4,j=16,k=32)
A.4 B.16 C.32 D.48
2.下面正确的字符常量是 。
A.”c” B.’’’ C.’W’ D.’’
3.下面不正确的字符串常量是 。
A.’abc’ B.”12’12” C.”0” D.” “
4.以下正确的叙述是 。
A.在C程序中,每行中只能写一条语句
B.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
C.在C程序中,无论是整数还是实数,都能被准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符
5.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=’A’+’6’-‘3’后c2中的值为 。
A.D B.68 C.不确定的值 D.C
6.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是
。
A.2.500000 B.2.7500000 C.3.500000 D.0.000000
7.设变量a是整型,f是实型,I是双精度型,则表达式10+’a’+I*f值的数据类 2
型为 。
A.int B.float C.double D.不确定
8.表达式18/4*sqrt(4.0)/8值的数据类型为 。
A.int B.float C.double D.不确定
9.设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为 。
A.0~255 B.0~32767 C.0~65535 D.0~2147483647
10.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为
。
A.float B.char C.int D.double
11.设以下变量均为int类型,则值不等于7的表达式是 。
A.(x=y=6,x+y,x+1) B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y) D.(y=6,y+1,x=y,x+1)
12.在C语言中,要求运算数必须是整型的运算符是 。
A./ B.++ C.!= D.%
二.填空题
1.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为 字母或者下划线 。
2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 8 。
3.若s是int型变量,且s=6,则下面表达式的值为 1 。
s%2+(s+1)%2
4.若a是int型变量,则下面表达式的值为 26 。
3
(a=4*5,a*2),a+6
5.若x和a均是int型变量,则计算表达式(1)后的x值为 12 ,计算表达式(2)的x值为 4 。
(1) x=(a=4,6*2)
(2) x=a=4,6*2
6.若a是int型变量,则计算表达式后a的值为 2 。
a=25/3%3
7.若有定义:int b=7;float a=2.5,c=4.7;则下面表达式的值为 5.5 。
a+(int)(b/3*(int)(a+c)/2)%4
8.若有定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为 3.5 。
(float)(a+b)/2+(int)x%(int)y
9.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 9 。
10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-‘3’的值为 f 。
11.表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为 int 。
第三章 最简单的C程序设计——顺序程序设计
一.选择题
1.putchar函数可以向终端输出一个 。
A.整型变量表达式值 B.实型变量值
C.字符串 D.字符或字符型变量值
2.以下程序的输出结果是 。
printf(“n*s1=%15s*”,”chinabeijing”);
4
printf(“n*s2=%-5s*”,”chi”);
A.*s1=chinabeijing___* B.*s1=chinabeijing___*
*s2=**chi* *s2=chi__*
C.*s1=___chinabeijing* D.*s1=___chinabeijing*
*s2=__chi* *s2=chi__*
3.Printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出格式 B ;如果字符串长度小于5,则输出格式 A 。
A.从左起输出该字串,右补空格 B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格 D.输出错误信息
4.阅读以下程序,当输入数据的形式为:25,13,10
。
main()
{
int x,y,z;
scanf(“%d%d%d”,&x,&y,&z);
printf(“x+y+z=%dn”,x+y+z);
}
A.x+y+z=48 B.x+y+z=35 C.x+z=48 D.不确定值
5.设x、y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后x、y和z的值是 。
A.x=10 B.x=10 C.x=10 D.x=10
y=15 y=10 y=10 y=5
5
z=10 z=10 z=15 z=10
6.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,
从键盘输入数据的正确形式应当是 。
A.132 B.1,3,2 C.a=1_b=3_c=2 D.a=1,b=3,c=2
二.填空题
1.以下程序的输出结果为 *3.140000,3.142* 。
main()
{ printf(“*%f,%4.3f*n”,3.14,3.1415);}
2.以下程序的输出结果是 x=1,y=2,sum=3 。
main()
{ int x=1,y=2;
printf(“x=%d,y=%d,sum=%dn”,x,y,x+y);
}
3.若x为int型变量,则执行以下语句后x的值是 -14 。
x=7;
x+=x-=x+x;
第四章 选择结构程序设计
一.选择题
1.以下关于运算符优先顺序的描述正确的是__ ___。
A)关系运算符<算术运算符<赋值运算符<逻辑与运算符
B)逻辑与运算符<关系运算符<算术运算符<赋值运算符
6
C)赋值运算符<逻辑与运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑与运算符
2.能正确表示”当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是__ ___。
A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B) (x>=1) || (x<=10) || (x>=200) || (x<=210)
C) (x>=1)&&(x<=10) || (x>=200)&&(x<=210)
D) (x>=1) || (x<=10)&&(x>=200) || (x<=210)
3.设x、y和z是int 型变量,且x=3,y=4,z=5,则下面表达式中值为0的是__ ___。
A)’x’&&’y’
B)x<=y
C)x || y+z&&y-z
D)! ((x 4.设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b) && (n=c>d)后n的值为__ ___。 A)1 B)2 C)3 D)4 5.若w=1,x=2,y=3,z=4,则条件表达式w A)4 B)3 C)2 D)1 6.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是__ ___。 if(a if(c else if(a 7 if(b else x=3; else x=6; else x=7; A)1 B)2 C)3 D)6 二.填空题 1.当 a=3,b=2,c=1时,表达式f=a>b>c 的值是__0__。 2.有int a=3,b=4,c=5,x,y;,则以下表达式的值为__ 0__。 ! (x=a)&&(y=b)&&0 3.以下程序对输入两个整数,按从大到小顺序输出.请在______内填入正确内容. main() { int x,y,z; scanf(“%d,%d”,&x,&y); if (_ x {z=x; x=y;y=z; } pringf(“%d,%d”,x,y); } } 三.读程序题 1. 有以下程序 void main() {int x,y,z,t; scanf(“%d,%d,%d”,&x,&y,&z); 8 if(x>y) {t=x;x=y;y=t;} if(x>z) {t=x;x=z;z=t;} if(y>z) {t=y;y=z;z=t;} printf(“%d,%d,%d”,x,y,z); } 若输入数据 98,32,56 则输出结果为_ 32,56,98 __。 2.请读程序: #include void main() { int x=1, y=0,a=0,b=0; switch(x) {case 1: switch(y) {case 0:a++;break; case 1:b++;break; } case 2: a++; b++; break; } prinf(“a=%d,b=%d”,a,b); } 上面程序的运行结果是_ a=2,b=1 _。 9 第五章 循环结构程序设计 一.选择题 1.C语言中while和do-while 循环的主要区别是__ __。 A) do-while 的循环体至少无条件执行一次 B) while 的循环控制条件比do-while 的循环控制条件严格 C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 2.有如下程序 main0 { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf(“%dn”,sum); } 该程序的执行结果是_ _。 A) 6 B) 3 C) 死循环 D) 0 3.有如下程序 void main() { int x=23; do { printf("%d",x--);} while(!x); } 该程序的执行结果是_ __。 A) 321 B) 23 C) 不输出任何内容 D) 环 4. 有如下程序 main0 { int n=9; while(n>6) {n--;printf(“%d”,n);} 10 陷入死循 } 该程序段的输出结果是_ ___。 A) 987 B) 876 C) 8765 D) 9876 5.有以下程序段 int k=0 while(k==1)k++; while 循环执行的次数是__ __。 A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次 6.以下程序执行后sum的值是__ __。 main() { int i , sum=0; for(i=1;i<6;i++) sum+=i; } printf(“%dn”,sum); A)15 B)14 C) 不确定 D)0 7.有以下程序段 int x=3; Do printf("%d",x-=2); while (!(--x));其输出结果是_ ___。 A) 1 B) 3 0 C) 1 -2 D) 二.填空题 1.下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。 #include void main() { int a, b, c, i; 11 死循环 a=c=0; for(i=0;i<=10;i+=2) { a+=i; b=i+1 ; c+=b; } printf("%dn",a); printf("%dn",c-11); } 2.设有以下程序: main() { int n1,n2; scanf(“%d”,&n2); while(n2!=0) { n1=n2%10; n2=n2/10; printf(“%d”,n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为_89210 __。 3.以下程序运行后的输出结果是_ 52 __。 void main() { int i=10, j=0; do { j=j+i; i--; } while(i>2); printf(“%dn”,j); } 第六章 利用数组处理批量数据 一.选择题 1.在C语言中,引用数组元素时,其数组下标的数据类型允许是_ __。 12 A) 整型常量 B) 整型表达式 C) 整型常量或整型表达式 D) 任何类型的表达式 2.若有说明:int a[10];则对a数组元素的正确引用是_ __。 A) a[10] B) a[3.5] C) a(5) D) a[10-10] 3.若有说明:int a[3] [4];则对a数组元素的正确引用是_ __。 A) a[2] [4] B) a[1,3] C) a [1+1] [0] D) a (2) (1) 4.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为_ __。(设a[0][0]位于数组的第一个位置上) A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1 5.若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是_ __。 A)2 B)3 C)4 D)无确定值 6.判断字符串a和b是否相等,应当使用_ __。 A)if (a==b) B)if (a=b) C)if (strcpy(a,b)) D) if (strcmp(a,b)) 二.填空题 1.下面程序可求出矩阵a的主对角线上的元素之和。请填空 void main() { int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; for(i=0; i<3; i++) for(j=0; j<3; j++) if(_ i==j _) sum=sum+_ a[i][j] _ printf(“sum=%dn”,sum); } 2.下面程序的运行结果是_The index is:6___。 void main() { int a[9]={0,6,12,18,42,44,52,67,94}; 13 int x=52,i,n=9,m; i=n/2+1; m=n/2; while(m!=0)
版权声明:本文标题:C语言习题集参考答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1708521241h526637.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论