华中师范大学武汉传媒学院计算机。。

发布时间:2021-04-18   来源:文档文库   
字号:
一、填空题
1 C 语言程序由一个或多个函数组成,其中有且只有
个主函数,
名为
2C 语言中合法的标识符由
、数字、下划线组成,必须以 或下划线开头。
3 C 语言中,一个 char 型变量在内存中占 _______ 个字节 ,一个 int 型变量在内存
中占 个字节 , 一个 float 型变量在内存中占 个字节。
4 C 语言的每条语句必须以
结尾。
次。
5 strlen( x41abc \n" 的值是 ______
6 while 语句构成的循环结构的循环体最少执行次数为 7 continue 语句只能在 ______ 语句中使用。 8 C 语言程序的三种基本结构是 9、数组名是 ________ 量。
10、在定义变量的同时给变量赋予初值,称为变量的
结构、 、循环结构。

11、代数表达式 p(p a(p b(p c C 语言算术表达式是 _________________ 12、若有赋值语句 x=x+3; ,则其含义为 ___________ 13、若在程序中使用了数学函数,则在程序前面应加上的命令是 14 int a[10] ;说明该数组中有 ____ 个元素,占 ____个内存字节数。 15Turbo C 中规定变量名的第一个字符必须是 16、字符串 " x26abc\123\t " 的长度是 __
17、在 C 语言中,真用____表示,假用____表示。 18 break 语句只能在循环语句和


语句中使用。
19、复合语句在语法上相当于 ______ 条语句。 20、字符变量中存放的是字符所对应的 21、字符串常量是由
编码值。
括起来的若干字符,字符常量是由 括起来
表达式。
22 if 语句, if 后面的表达式为
23、若要使用库函数 fabs ,在源程序中应加上的包含命令的形式是 24、在 do- while 语句构成的循环结构中 , 循环体最少执行 次。 25、定义一个 float a[11] ; 该数组元素下标上限是 ,下限是 26、设有定义 static int b[3][2]={1 2346}; b[1][1] 的初值为
二、选择题
1. 在有字符型、整型、实型常数的表达式运算中,其最后结果的类型是 _________
A Char B long
C float
D double
2.若有 int x,y; 下面正确的表达式是( A 'x 'x+ B
(x+y++ C 7++
D 7.0%3

3. 设有 float a=12.5 ,则表达式( a+1/2 的值是 _____



A. 13.0 A
x=a+b/c; B. 13 C. 12.5 D. 13.5 4. 下面哪一项不是 C 语言语句(
B scanf( %d ,&a C a=5,b=4,c=a+b; D ; 5. 下面正确的赋值语句是(
Aj++ B
x=y=1; C
x=4*y=2; D
x=float m; 6. 若有语句 scanf( %d%d,%d,&a,&b,&c; 则在执行时按 ( 形式输入是正确的。 A.123 B.1 ,2,3 C.1,2 3
D.1 2 ,3
7. 下面哪一个不是关系运算符 (
A. <=
B. = =
C. >= D. &&
8. 若有 int =4,y=3,z=2,t=1; , 则表达式 x>y ? x : z>t ? y : t 的值是 ( A. 1 B. 2 C. 3 D. 4
9. 能正确地用逻辑关系表示 : 10 C 语言表达式是 ____________
A. 10B. 10C. 10D. 10<=a && a<=15 若有:
int x=1; while x++<5 则正常结束循环后 x 的值为( )。 A
1 B4 C 6 D5 10.

11. 下面程序段的循环次数为 ________
int x=2; while (x=1 printf( %d,x; printf( n“” ; A.无限次 A2 A&& B1 B3 B . ! C0
D2
12. 若有说明语句: int a[ ][3]={1,2,3,4,5,6,7,8}; , a 数组的行数为(

)。
C 、无确定值 C!= D 1
D . || 13. 以下运算符中优先级最高的运算符是 _____
14. 以下对一维数组 b 的正确说明是 _________
A. char b(10; C. int b[ ]={1
B. int k=5,b[k]; 2 3 45}; D. char b[ ]; 15. 若有数组定义 int a[3][4] ; 指出下面数组元素的正确引用 (
A. a[2][3] B. a[3][0] C. a[0][4] D. a[3][4]


16. 若有
char x[ ]="12345"; char y[ ]={'1', '2', '3', '4', '5'}; Ax 数组与 y 数组的长度相同 Bx 数组等价于 y 数组
则正确的描述是____。
C x数组长度小于 y 数组长度 Dx 数组长度大于 y 数组长度
17. x y 都是 int 型变量, x=200y=100,执行以下程序片段 printf( %d ,(x,y;
出结果 (
A 200 B100 C100 200 D、输出格式符不够,输出不确定值 18. 下面程序段的运行结果是(
char x[5]={'a', 'b', '\0', 'c', '\0'}; printf("%s", x; A
'a''b' Bab Cabc └┘D
c 19. 语句 while (!y 中的表达式 !y 等价于
( A
y==0 B
y!=1 C y!=0 D y==1 20 putchar 函数可以向终端输出一个 (
A float 型变量值 B、字符串
C double 型变量值 D、字符或字符型变量值
21、字符型常量在内存中存放的是字符的 (
A ASC 代码 B BCD 代码 C 内部码 D 十进制码
22、执行 scanf 函数时,应从键盘上输入 ( 到相对应的变量中。 A 常数 B 变量 C 常量表达式
D 含变量的表达式
23、已知 int x=1,y ;执行语句 y=++x>5&&++x<10 ;后变量 x 的值是( A 1 B 2 C 3 D 4 24、逗号表达式 "a=3*5,a*4,a+5" 的值是
A 15 B 60 C 20 D 不确定
25、在 C 语言中, if 语句后面园括号内的表达式(
A 只能用逻辑表达式 B 只能用关系表达式
C 只能用逻辑表达式或关系表达式 D 可用任意类型表达式
26、能正确表示逻辑关系: a>=10 a<=0的语言表达式是( A a>=10||a<=0

B a>=0&&a<=10
D a>=10&&a<0
C a>10||a<=0 27、若有: int a1,b2,c3,d4,m2,n2;则执行( m a>b &&(n c>d n 的值是
A 1 B
2 C 3 D 0 28、下面程序的输出结果是 (
main(
{int i; for(i=0;i<5;i++ printf( %d,i; }
A 1234 B 12345 C 01234 D 012345 29、以下程序段中的 do-while 循环(
m=-1;
do{ m=m*m; }while(!m; D.有语法错误
A .是死循环 B.执行二次 C .执行一次
30、下面程序段的执行结果是( int x = 10; do
x+=1; while (x>20; printf( x=%d,x; A x=10 B x=11 C x=20 D x=21 31、设 int a=3 b=4c=5;则下面的表达式中值为 0 的表达式是( )。
A a' && 'b' B a<=b C a||b+c&&b-c D !((a&&!c||1
32、对于非负 int 型数据,不可采用的格式说明是
A %x B %d C %u
D %f 33、以下关于 break 语句的描述中正确的是( )。
A break 语句可以结束循环语句的执行 B break 语句只能用于 switch 语句体中 C break 语句只能用于循环语句中
D 、在循环语句中使用 break 语句或 continue 语句的作用相同
34、若有定义: int a[10]; 则数组 a 的元素的下标的下限是( )。
A 0 B 1 C 9 D 10 三、判断题
1 C 程序中所用的变量必须先定义后使用。 2C 语言中转义字符是以符号\ '开头。 3、在 C 语言中 'a' "a" 是等价的。
4、在命名标识符中,大小写字母是不加以区分的。 5、一个 if 语句中可以嵌套另一个 if 语句。
6、在 for (表达式 1 ;表达式 2;表达式 3中,三个表达式不可以同时缺省。 7、对于并列的循环结构中,控制循环执行的变量名字不可以相同。 8 continue 语句可以在循环语句中使用也可以在 switch 语句中使用。 9、在 C 语言中,数组中的所有元素必须属于同一种数据类型。

10、条件表达式: a>b?a:c>d?c:d 应理解为 a>b?a : (c>d?c:d 11C 语言的标识符必须以字母开头后面跟数字。 12、语句 if(a x=1; if(a==0 x=1; 等价。
13. switch 语句 case 后面的情况标号只能是常量或常量表达式,不能是变量。 14. 对于循环结构中 ,并列循环的循环变量可以相同。
15、在 C 语言中,数组定义为 int a[10], 则数组的下标下限为 1,下标的上限为 16 while 语句 while 后面的表达式,只能是关系表达式或者是逻辑表达式。 17. for (表达式 1;表达式 2;表达式 3中,三个表达式都可以缺省。 18、在 C 语言中,二维数组元素在内存中是按行优先的顺序存放的。 19 break 语句只能在循环语句中使用
20 数组中的所有元素必须属于同一数据类型。 21 C 程序中所用的变量必须先定义后使用。
22C 语言中字符常量是用一对单引号把单个字符括起来。 23C 语言程序由函数组成。
24 switch 选择结构中必须有 default 子句。
25、在 for (表达式 1;表达式 2;表达式 3中,表达式 2 不可以缺省。 26、对于嵌套循环结构中,控制循环执行的变量名字不可以相同。 27、条件语句中的表达式只能是关系表达式或者是逻辑表达式。 28、在定义二维数组时,第一维大小可以省略不定义。
29 break 语句不能用于循环语句和 switch 语句之外的任何其它语句之中。
10
四、阅读下列各程序,写出其运行结果
1 main( {char x=97; while( x < d ' { printf( %c , x; x++ ; printf ( \n ;
} }
2
main( {int a=1,b=1,x=3,y=5 ; if(x>0a=a+1 ; if(x>yb=b+1 ; else if(x= =yb=5 ; else b=2*y ; printf("a=%d,b=%d\n",a,b ; }
3
main(
{ int k ; for ( k=1; k<7 ; k++ { if ( k%3!=0 continue ;
printf ("%d ", k ; } }
4
main( { int a[3][4]={3,16,87,65,4,32,11,108,10,25,12,27}; int b[3],i,j,k; for(i=0;i<=2;i++ { k=a[i][0]; for(j=1;j<=3;j++ if(a[i][j]>k k=a[i][j]; b[i]=k;} for(i=0;i<=2;i++ printf( %d ,b[i]; } 5
main( { int a=0,b=0,c; c=a++&& (b=1; printf("a=%d,b=%d,c=%d\n",a,b,c; } 6
main( { int x=100,a=10,b=20; int v1=5,v2=0; if(aif(b!=15 if(!v1 x=1; else if(v2 x=10; x=-1; printf( %d,x; } 7
main( {
int i; for(i=1;i<=4;i++ if(i==3 continue; else printf("%3d",i; }
8 main( { int i,k,a[10],p[3]; k=5; for (i=0;i<10;i++ a[i]=i; for (i=0;i<3;i++ p[i]=a[i*(i+1];
for (i=0;i<3;i++ k+=p[i]*2; printf("%d\n",k; }
9
main( {int a=0,b=1,c=0,d=20; if( a d=10; else if( !b if( !c d=15; else d=25; printf( d=%d\n ,d; } 10
main( { int y=18,i=0,j,a[8]; do { a[i]=y%2; i++; y=y/2; }while(y>=1; for(j=i-1;j>=0;j-- printf("%d",a[j];
printf("\n";} 五、填空将程序完整
1. 以下程序是用简单的选择法将 10 个整数从小到大排序。main( { int a[10],i,j,k,x; printf("Input 10 numbers:\n"; for(i=0;i<10;i++ scanf("%d", ; printf("\n"; for(i=0;i< ;i++ { k=i; for(j=
;j<10;j++ if(a[j]if(i!=k { x=a[i];
; a[k]=x;} #include


} printf("The sorted numbers:\n"; for(i=0;i<10;i++
printf("%d ",a[i]; }
2. 从键盘输入一个三位整数,将它们逆序输出。
#include "stdio.h" main( {int __
___ ,a,b,c; printf("Please input the number:"; scanf("%d",# a=num/___ __ ; b=(num-100*__ ___/10; c=num-100*a-10*___
___;
a=a+ b*10+c*100; printf("The result is%d\n",a; }
3. 求两个正整数 m n 的最大公约数
main( { int m n r
scanf( %d%d &m &n
printf( m=%d n=%d \n m n if(mr = ____ ; while( _______
{m=n ; n= ____ ; r =m%n ;} printf( H.C.F=%d , n ; } }
4.------------------ 2000 2050 年中所有的闰年 ,统计闰年个数一并打印出来。
main( {int sum= __ , year ; for(year=2000; year<=2050; _____
if(year%4= =0&&year%100 !=0 __ year%400= =0 { sum++; printf( %8d ,year ;} printf( \nsum=%d ,sum _____
}

六、编程题
1.求: 200 300 之间的所有素数。
2. 10个整数中的最大值和最小值。
3. 将全班 30名同学的 C语言成绩输入 a 数组中
求出全班的最高分、平均分、不及格的人数。
4. 通过键盘输入三角形的三边长 ab c,判断这三条边能否构成三角形,若能构
成三角形,求出三角形的面积。

本文来源:https://www.2haoxitong.net/k/doc/7adf29d2b81aa8114431b90d6c85ec3a87c28bb9.html

《华中师范大学武汉传媒学院计算机。。.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式