您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页C语言前面六章习题

C语言前面六章习题

来源:华佗小知识


第一章 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{t=a; a=c; c=t;}

if(b{__t=b(3)__ b=c; c=t;} printf(“%f,%f,%f”,a,b,c);

}

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

本站由北京市万商天勤律师事务所王兴未律师提供法律服务