第一范文网 - 专业文章范例文档资料分享平台

C程序设计-复习题

来源:用户分享 时间:2020-06-26 本文由月下无痕 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《C程序设计》复习题

一、选择题

1、以下叙述中错误的是

A)一个C程序中可以包含多个不同名的函数 B)一个C程序只能有一个主函数

C)C程序在书写时,有严格的缩进要求,否则不能编译通过 D)C程序中主函数必须用main作为函数名

2、设有以下语句char ch1, ch2; scanf(\ 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是

A)A和B之间用逗号间隔 B)A和B之间不能有任何间隔符 C)A和B之间可以用回车间隔 D)A和B之间用空格间隔 3、以下选项中非法的字符常量是

A)'\\101' B)'\\65' C)'\\xff' D)'\\019' 4、有以下程序 # include

main( )

{ int a=0, b=0, c=0; c=(a- =a-5); (a=b,b+=4); printf(\

程序运行后的输出结果是 A)0,4,5 B)4,4,5 C)4,4,4 D)0,0,0 5、有以下程序 # include main( )

{int a; scanf(\ if(a++<9) printf(\ else printf(\

程序运行时从键盘输入9<回车>,则输出结果是 A)10 B)11 C)9 D)8 6、有以下程序 # include

main( ) {int s=0, n;

for( n=0; n<3; n++ ) { switch(s)

{ case 0: case 1: s+=1; case 2: s+=2; break; case 3: s+=3; default: s+=4;} printf(\程序运行后的输出结果是A)1,2,4, B)1,3,6, C)3,10,14, D)3,6,10, 7、有以下程序 # include main( )

{char a,b,c; b='1'; c='A';

for (a=0; a<6; a++) {if(a%2) putchar(b+a); else putchar(c+a); } }

程序运行后的输出结果是 A)1B3D5F B)ABCDEF C)A2C4E6 D)123456

8、设有如下定义语句 int m[]={2,4,6,8,10}, *k=m;以下选项中,表达式的值为6的是

A)*(k+2) B)k+2 C)*k+2 D)*k+=2

9、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下划线处应填写的是 #include

#define N 5

void fun(int x[N])

{ int m; for(m=N-1;m>=0; m--) scanf( \ A)&x[++m] B)&x[m+1] C)x+(m++) D)x+m 10、若有函数void fun(double a[], int *n) { ...... }

以下叙述中正确的是

A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送 B)形参a和n都是指针变量 C)形参a是一个数组名,n是指针变量

1

D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组 11、C语言源程序的基本单位是( )。

A.程序行 B.语句 C.函数 D.字符 12、在C语言中,要求运算的数必须是整数的运算符是( ) A./ B.! C.% D.= =

13、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a的值( ) A、3 B、0 C、9 D、-12

14、执行下列程序时输入:1234567,程序的运行结果是( ) main( )

{ int x,y; scanf(“-%*2c”,&x,&y); printf(“%d\\n”,x+y); }

A.17 B.46 C.15 D.9 15、下述程序的输出结果是( ) #include void main( )

{int x=-1,y=4; int k; k=++x<=0&&!(y--<=0);

printf(\

A.0,0,3 B.0,1,2, C.1,0,3, D.1,1,2

16、为了避免嵌套的if-else语句的二义性,C语言规定else总是与( )组成配对关系。

A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if

17、两次运行下面的程序,如果从键盘上分别输入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 18、若变量c为char类型,能正确判断出c为小写字母的表达式是( ) A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C. ('a'<=c)and ('z'>=c) D. (c>= 'a')&&(c<= 'z') 19、以下程序的输出结果为 main( )

{int i,f1,f2; f1=f2=1; for(i=0;i<4;i++)

{printf(“%d%d”,f1,f2); f1+=f2; f2+=f1; }} A.1 2 3 4 5 6 7 8 B.1 1 2 3 5 8 13 21 C.1 1 3 5 7 9 11 13 D.1 3 5 7 9 11 13 15 20、以下程序段( )。 x=-1; do

{ x=x*x;} while(! x);

A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误

21、执行语句 for (i=1;i++<4;) ; 后变量 i 的值是( )。

A.3 B.4 C .5 D.不定 22、在定义int a[5][6];后,第10个元素是( )。

A.a[2][5] B.A[2][4] C.a[1][3] D.a[1][5] 23、定义如下变量的数组:

2

int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下列语句的输出结果是( )

for(i=0;i<3;i++) printf(“%d”,x[i][2-i]);

A.1 5 9 B.1 4 7 C.3 5 7 D.3 6 9 24、设int * p,i;以下正确的语句是( )。

A.*p=10; B.i=p ; C.i=*p; D.p=2*p+1; 25、有以下函数

#include viod func(int n) {int i;

for(i=0;i<=n;i++) printf(“*”); printf(“#”);} main()

{ func(3); printf(“????”); func(4); printf(“\\n”); }

程序运行输出结果是

A ****#????***# B ***#????*****#

C **#????*****# D ****#????*****#

26、下列关系表达式中,结果为“假”的是

A) (3+4)>6 B) (3!=4)>2 C) 3<=4||3 D) (3<4)= =1 27、有以下程序

#include

main( )

{ int a=-2,b=0; while(a++&&++b); printf(\程序运行后的结果是 A)1,3 B)0,2 C)0,3 D)1,2

28、设有定义:int x=0,*p;,立刻执行以下语句,正确的语句是

A) p=x; B) *p=x; C) p=NULL; D) *p=NULL 29、下列叙述中正确的是

A)可以用关系运算符比较字符串的大小

B)空字符串不占用内存,其内存空间大小为0 C)两个连续的单引号是合法的字符常量 D)两个连续的双引号是合法的字符串常量

30、有以下程序

# include

main( )

{ char a='H'; a=(a>'A'&&a<='Z')?(a-'A'+'a'):a; printf(\

程序运行后的输出结果是 A) A B) a C) H D) h

31、有以下程序

# include

int f(int x); main( ) { int a,b=0;

for(a=0;a<3;a++) {b=b+f(a); purchar('A'+b);}} int f(int x) { return x*x+1; }

程序运行后的输出结果是 A) ABE B)BD1 C)BCF D)BCD

32、设有定义:int x[2][3];,则以下关于二维数组x的叙述错误的是

A) x[0]可看作是由3个整型元素组成的一维数组 B) x[0]和x[1]是数组名,分别代表不同的地址常量

3

C) 数组x包含6个元素

D) 可以用语句x[0]=0;为数组所有元素赋初值0

33、设变量p是指针变量,语句p=NULL;是给指针变量赋NULL值,它等价于

A) p= \ B) p='0'; C) p=0; D) p=\34、有以下程序

# include

main( )

{ int a[]={10,20,30,40},*p=a,i;

for(i=0;i<=3;i++) {a[i]=*p; p++; } printf( \ 程序运行后的输出结果是A) 30 B) 40 C) 10 D) 20

35、有以下程序

# include

#define N 3

void fun(int a[][N],int b[]) { int i,j;

for(i=0;i

for(j=1;j

if(b[i]

main( )

{ int x[N][N]={1,2,3,4,5,6,7,8,9}, y[N],i; fun(x,y);

for(i=0;i

程序运行后的输出结果是 A) 2,4,8 B) 3,6,9 C) 3,5,7 D) 1,3,5

36、有以下程序(strcpy为字符串复制函数,strcat为字符串连接函数)

# include # include main( )

{ char a[10]=\ strcpy(a+1,b+2);

puts(strcat(a,c+1)); }

程序运行后的输出结果是A) a12xyz B) 12yz C) a2yz D) bc2yz

37、以下选项中,合法的是

A) char str3[]={'d', 'e', 'b', 'u', 'g', '\\0'}; B) char str4; str4=\

C) char name[10]; name=\ D) char str1[5]= \

38、有以下程序

# include

main( )

{ char *s=\ int k=0,a=0; while(s[k+1]!= '\\0') { k++;

if(k%2==0) { a=a+(s[k]- '0'+1); continue; } a=a+(s[k]- '0'); }

4

printf(\ }

程序运行后的输出结果是A) k=6 a=11 B) k=3 a=14 C) k=4 a=12 D) k=5 a=15

39、有以下程序

# include

main( )

{ char a[5][10]={ \ int i,j; char t;

for(i=0;i<4;i++) for(j=i+1;j<5;j++)

if(a[i][0]>a[j][0]){ t=a[i][0]; a[i][0]=a[j][0]; a[j][0]=t;}

puts(a[1]);}

程序运行后的输出结果是A) fwo 40、有以下程序

# include

B) fix

C) two D) owo

int a=1,b=2;

void fun1 ( int a, int b ) { printf(\

void fun2 ( ) { a=3; b=4; }

main( )

{ fun1 (5,6); fun2( ); printf(\

程序运行后的输出结果是 A) 1 2 5 6 B) 5 6 3 4 C) 5 6 1 2 D) 3 4 5 6

二、填空题

1、给定三角形的三边长,求三角形面积。

#include #include int main( )

{ double a,b,c,s,area; a=3.67; b=5.43; c=6.21;

s=(a+b+c)/2; printf(\ printf(\

2、输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。

#include int main( )

{ char ch; scanf(\

printf(\

3、求

?n!

n?120#include int main( )

{double s=0,t=1; int n;

printf(\

4、输出以下4*5的矩阵。

1 2 3 4 5

5

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证C程序设计-复习题 全文阅读和word下载服务。

C程序设计-复习题 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1103296.html(转载请注明文章来源)

相关推荐:

热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top