第一章 C语言基础知识
4.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数
2.一个函数由两部分组成,它们是 函数体 和 函数的说明部分。
3.函数体的范围是 大括号以内 。(0级)
4.函数体一般包括 声明部分 和 执行部分 。(0级)
5.C语言是通过 输入输出函数 来进行输入输出的。(0级)
6.在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个函数。
第二章 C语言程序设计的初步知识
一、选择题
1.在C 语言中,属于构造类型的是:数组类型,共用体类型,结构体类型
4.在C 语言中,属于基本类型的是:整型、实型、字符型
11.C语言中不能用来表示整常数的进制是 D 。(0级)
A)十进制 B)十六进制 C)八进制 D)二进制
19.10+’a’+1.5-567.345/’b’的结果是 B 型数据。(0级)B
A)long B)double C)int D)unsigned float
43.在C语言中,以下合法的字符常量是 C 。(1级)
A)'\\084' B)'\\x43' C)'0' D)\"\\0\"
51. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是 B 。(02~03第一学期试题)A
A)8 B)7
C)6 D)5
54. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:
(float)(a+b)/2+(int)x%(int)y的值是 B 。
A)2.500000 B)3.500000 C)4.500000 D)5.000000
55. 以下表达式: 2+’a’+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为 D 。
A)int B)float C)char D)double
58. 已知ch是字符型变量,下面不正确的赋值语句是: 。
A)ch=‘\\0’ B)ch=‘a+b’
C)ch=‘7’+‘9’ D)ch=7+9
. 若有说明语句:char c= ‘\\’ ;
则变量C包含: D 。(往届试题)
A)1个字符 B)2个字符
C)3个字符 D)说明不合法,C值不确定。
二、填空题
1.C语言的数据类型有四大类:基本类型、 构造类型、 指针类型、空类型。
2.C语言数据类型中构造类型包括三种: 数组类型、 结构类型、联合类型。
3.C语言基本数据类型包括 整型、 字符型、 单精度实型、 双精度实型。
4.在C语言中,程序运行期间,其值不能被改变的量叫 常量 。(0级)
5.在C语言中,常量有不同的类型,包括 整型常量 、 浮点常量 、 字符常量 和 字符串常量 等。(0级)
6.符号常量是指 用一个标识符代表一个常量 。(0级)
7.整型常量和实型常量也称为 数值型常量 ,它们有正负之分。(0级)
8.在C语言中,在习惯上符号常量名用 大写 ,变量用 小写 。
9.在C语言中,变量是 其值可以改变的量 。(0级)
10.变量也有不同类型,如 整型 、 实型 和 字符型 等。(0级)
11.C语言在定义变量的同时说明变量的 数据类型 ,系统在编译时就能根据变量定义及其 数据类型 为它分配相应数量的存储空间。(0级)
12.在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为 标识符 。(0级)
14.在 C语言中,要求对所有甬道的变量,遵循 先定义后使用 的原则。
16.整型变量可分为 基本型 、 短整型 、 长整型 、 无符号型 四种,分别用int,shout,long,unsingned
18.在C语言中,实数有两种表现形式,是 十进制 和 指数形式 。
19.实型变量分为 单精度 和 双精度 ,即float和double型。
22.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做变量初始化。
24.int型的取值范围是-32768~32767。
29.在C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即 \\o ,以便系统据此数据判断字符串是否结束。(0级)
33.在C语言中,加减乘除这些运算符需要两个运算对象,称为 算术运算符。
34.在C语言中,算术运算符的结合性是 左结合 。(1级)
35.下面的程序
mian()
{float x;int i;
x=3.6;i=(int)x;
printf(\"x=%f,i=%d\
}
运行结果为x=3.600000 i=3。
36.如果int i=3,则printf(\"%d\执行后输出是 -3 ,i的结果是 4 。
37.在C语言中,表达式的类型有 赋值 , 逗号 , 算术 , 关系 , 条件 , 逻辑 。(1级)
第三章 顺序结构程序设计
一、选择题
1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出项的个数,多余的输出项将不予输出;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
2.在 scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。如果类型不匹配,系统并不给出出错信息,但不可能得出正确信息数据。
3.下列说法正确的是 D 。(0级)
A)输入项可以是一个实型常量,如scanf(\"%f\;
B)只有格式控制,没有输入项也能进行正确输入,如scanf(\"a=%d,b=%d\");
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(\"%5.3f\;
D)当输入数据时,必须指明变量的地址,如scanf(\"%f\;
7.以下程序的输出结果是 A 。(1级)
#include main() {printf(\"%d\\n\ A)不确定的值(因变量无定义) B)0 C)-1 D)1 19. C程序的基本编译单位是 C 。(01~02第二学期试题) A)函数 B)文件 C)源文件 D)子程序 21. 根据定义和数据的输入方式,输入语句的正确形式为: C 。(往届试题) 已有定义:float a1, a2; 数据的输入方式: 4.523 3.52 A)scanf(“%f %f ”, &a1,&a2); B)scanf(“%f ,%f ”, a1, a2); C)scanf(“%4.3f ,%3.2f ”, &a1,&a2); D)scanf(“%4.3f %3.2f ”, a1,a2); 23. 以下程序的输出结果是:(注:▂表示空格) D 。(往届试题) main( ) { printf(“\\n*s1=%8s*”, “china”); printf(“\\n*s2=%-5s*”, “chi”) ; } A)*s1=china▂ ▂ ▂* B)*s1=china▂ ▂ ▂* *s2=chi* *s2=chi▂ ▂* C)*s1=▂ ▂ ▂china* D)*s1=▂ ▂ ▂china* *s2=▂ ▂chi * *s2=chi▂ ▂* 二.填空题 1.C语言中的语句可分为5类,即 控制语句 、 函数调用语句 、 表达式语句 、空语句 、 复合语句 。(0级) 2.由一次函数调用加一个分号构成一个 函数调用 语句。(0级) 3.putchar函数的作用是 字符输出 。(0级) 4.printf是C语言提供的标准输出函数,它的作用是 格式输出 。(0级) 5.printf函数的“格式控制”包括两部分,他们是 格式控制 和 输出表列 。 7.%-ms表示如果串长 小于 m,则在m列范围内,字符串向 左 靠, 右 补空格。(0级) 9.getchar函数的作用是 字符输入 。(0级) 11.scanf函数中的“格式控制”后面应当是 变量地址 ,而不是 变量名 。 12.C语言中的空语句就是 一个分号 。(0级) 18.分析下面程序 main() { int x,y; x=16,y=(x++)+x;printf(\"%d\\n\ x=15;printf(\"%d,%d\\n\ x=20,y=x-- +x;printf(\"%d\\n\ x=13;printf(\"%d,%\ } 程序的输出结果是 32,16 15,40,13 13 。(1级) 第四章 选择结构程序设计 一、选择题 3.逻辑运算符的运算对象的数据类型 D 。(0级) A)只能是0或1 B)只能是.T.或.F. C)只能是整型或字符型 D)任何类型的数据 4.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是 C 。级) (1 A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100) C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100) D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100) 11.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main( ) { int x; scanf(“%d”,&x); if(x++>5) printf(“%d”,x); else printf(“%d\\n”,x--); } A)7和5 B)6和3 C)7和4 D)6和4 23. 能表示整数x符合下面两个条件的语句是 A 。(01~02第二学期试题) (1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.asd A)(x%4==0&&x%100!=0)||x%400==0 B)(x%4==0||x%100!=0)&&x%400==0 C)(x%4==0&&x%400!=0)||x%100==0 D)(x%100==0||x%4!=0)&&x%400==0 31. 在C的if语句中,可用作判断的表达式是: B 。(往届试题) A)关系表达式 B)逻辑表达式 C)算术表达式 D)任意表达式 38.下面程序的输出结果是 A 。(1级) main() {int x=40,y=4,z=4; x=y= =z; printf(“%d”,x); x=x= =(y-z); printf(%d”,x); } A)4 0 B)4 1 C)1 1 D)1 0 39.若x=3,y=z=4,则下列表达式的值分别为 B 。(1级) (1)(z>=y>=x)?1:0 (2)z>=y&& y>=x A)0 1 B)1 1 C)0 0 D)1 0 40.若x=3,y=z=4,则下列表达式的值分别为 B 。(1级) (1)(z>=y>=x)?1:0 (2)y+=z,x*=y A)0 24 B)1 8 C)0 8 D)1 12 二、填空题 8. 输入3个实数 a, b, c要求按从大到小的顺序输出三数。(01~02第二学期试题) main( ) { float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c);asd if (a{t=a; a=b__(1)__ b=t;} if(__a if(b } 14.在C语言中的逻辑运算符的优先级是 ! 高于 && 高于 || . 第五章 循环结构程序设计 一、选择题 1.while循环语句中,while后一对圆括号中表达式的值决定了循环体是否进行,因此,进入while循环后,一定有能使此表达式的值变为 C 的操作,否则,循环将会无地进行下去。(0级) A)0 B)1 C)成立 D)2 2.在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的 ; 不能丢,它表示do-while语句的结束。 3.for语句中的表达式可以部分或全部省略,但两个;不可省略。但当三个表达式均省略后,因缺少条件判断,循环会无地执行下去,形成死循环。 13.以下程序的输出结果 A 。(1级) main() {int n=0; while(n++<=1) printf(\"%d\\ printf(\"%d\\n\ } A) 1 2 3 B)0 1 2 C)1 1 2 D)1 2 2 27. 以下程序的运行结果是: B 。(03试题) main( ) { int a=2, i ; for(i=0;i<3;i++) printf(“%4d”,f(a) ) ; } f( int a) { int b=0,c=3; b++; c++; return(a+b+c); } A)7 10 13 B)7 7 7 C)7 9 11 D)7 8 9 30. 以下能正确计算1×2×3×…×10的程序段是 C 。第二学期试题)(04~05 A)do {i=1;s=1; s=s*i; i++; } while(i<=10); B)do {i=1;s=0; s=s*i; i++; } while(i<=10); C)i=1;s=1; do {s=s*i; i++; } while(i<=10); D)i=1;s=0; do {s=s*i; i++; } while(i<=10); 二、填空题 1.while语句的特点是 先判断表达式,后执行语句。 (1) ,do-while语句的特点是 先执行循环体,然后判断循环条件是否成立(2) 。(0级) 2.将for(表达式1;表达式2;表达式3)语句 改写为while语句是 表达式1;while(表达式2) {语句;表达式3;} 。(0级) 3.break语句的功能是 用来跳出整个循环 。(0级) 4.break语句只能用于 switch (1) 语句和 循环 (2) 语句中。(0级) 5.continue语句的作用是 结束本次循环 ,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。(0级) 7.循环的嵌套是指 一个循环体内又包括另外一个完整的循环结构。 9.goto语句的用途是 与if语句一起构成循环结构和 从循环体中跳转到循环体外。 三、程序填空题 2.下面程序可求出1~1000的自然数中所有的完数(因子和等于该数本身的数)请填空。 main( ) { int m, n, s; for(m=2;m<1000;m++) { __s=0__(1)____ for(n=1;n<=m/2;n++) if(_m%n==0_(2)___) s+=n; if(__m==s(3)___) printf(“%d\\n”, m); } 四、读程序写结果题 4.设有以下程序 main() } {int n1,n2; scanf(\"%d\ while(n2!=0) {n1=n2%10; n2=n2/10; printf(\"%d\ } } 程序运行后,如果从键盘上输入1298,则输出结果为 21 。(1级) 第六章 数组 一、选择题 1.在C中引用数组元素时,其数组下标的数据类型允许是 整型常量或整型表达式 6.下列定义正确的是 B 。(1级) A) static int a[]={1,2,3,4,5} B) int b[]={2,5} C) int a(10) D) int 4e[4] 8.设有char str[10],下列语句正确的是 C 。(1级) A) scanf(\"%s\ B) printf(\"%c\ C) printf(\"%s\ D) printf(\"%s\ 10.假设array是一个有10个元素的整型数组,则下列写法中正确的是 D 。 (1级) A) array[0]=10 B) array=0 C) array[10]=0 D) array[-1]=0 20. 下面程序的运行结果是 D 。(04~05第二学期试题) char c[5]={‘a’,‘b’,‘\\0’,‘c’,‘\\0’}; printf(“%s”,c); } A)‘a’‘b’ B)ab\\0c\\0 C)ab c D)ab 22. 有字符数组a[80]和b[80],则正确的输出语句是 D 。(04~05第二学期试题) A)puts (a,b); B)printf(“%s,%s”,a[],b[]); C)putchar(a,b); D)puts(a),puts(b); 1.数组名定名规则和变量名相同,遵循 标识符 定名规则。(0级) 3.在C语言中,引用数组只能通过逐个引用数组元素来实现,而不能通过整体引用 整个数组 来实现。(0级) 4.在定义数组时对数组元素赋以初值,需要在数组的类型说明符前加关键字 static。 5.如果要使一个内部数组在定义时每个元素初始化值为0,但不进行逐个赋值,将其说明成 静态 存储类型即可。 6.C语言规定,只有定义为静态存储类型和外部存储类型的数组才能初始化。 1.以下程序可求出所有水仙花数(指3位正整数中各位数字立方和等于该数本身,如153=13+53+33),请填空。(往届试题) main( ) { int x, y ,z, a[10], m, i=0; printf(“shui xian huan shu :\\n”); for(__m=100_(1)____;m<1000;m++) { x=m/100; y=_m/10%10___(2)____; z=m%10; if(m==x*x*x+y*y*y*y+z*z*z) {_a[i]=m___(3)_____; i ++; } } for( x=0;xprintf(“%6d”,a[x] ) ; } 2. 打印以下杨辉三角形.(要求打印出10行) (01~02第二学期试题) main( ) { int a[10][10],i, j ; 1 for( i=0;i<10;i++) 1 1 {_a[i][0]=1_(1)___ _a[i][i]=1__(2)___ } 1 2 1 for( i=2; i<10; i++ ) 1 3 3 1 for(j=1; ja[i][j] =_a[i-1][j]+a[i-1][j-1]__(3)___; … …for(i=0; i<10; i++) { for( j=1; j<=i; j++) printf(“%5d”,a[i][j]); printf(“\\n”);} } 3. 用起泡法对十个数由大到小排序。(01~02第二学期试题) main( ) { int a[11], i, j, t; printf(“input 10 numbers: \\n”); … for(i=1;i<11;i++) scanf(“%d”,&a[i]); printf(“\\n”); for (j=1;j<=9;j++) for(i=1; i<=10-j_(1)__; i++) if (_a[i]>a[i+1]_(2)___) {__t=a[i]_(3)___ a[i]=a[i+1]; _a[i+1]=t_(4)__ } printf(“the sorted numbers: \\n”); for ( i=1; i<11; i++) printf(“%d”,a[i]); } 4. 下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差存入数组b,并按每行3个元素输出数组b。请填空。(往届试题) main( ) { int a[10],b[10], i for(i=0;i<10; i++) scanf(“%d”,&a[i]) ; for(i=1;__i<10__ (1) ___; i++) b[i]=__a[i]-a[i-1]__ (2)_____; for(i=1;i<10;i++) { printf(“%3d”,b[i]); if (_i%3==0__(3)___) printf(“\\n”); } } 5. 以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空:(往届试题) main( ) { int a[3][4] = { { 7, 5, -2, 3 },{ 1, 0, -3, 4 },{ 6, 8, 0, 2 } }; int b[3][4] = { { 5, -1, 7, 6 },{ -2, 0, 1, 4 },{ 2, 0, 8, 6 } }; int i, j, c[3][4]; for ( i=0; i<3; i++ ) for ( j=0; j<4; j++ ) c[i][j] = _a[i][j]+b[i][j]__(1)____ ; for ( i=0; i<3; i++ ) { for ( j=0; j<4; j++ ) printf ( “%3d”, c[i][j] ) ; ___ printf(“\\n”)_(2)___ ; } }
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务