C语言练习题 下载本文

内容发布更新时间 : 2024/7/4 11:12:57星期一 下面是文章的全部内容请认真阅读。

C程序设计练习题+答案

一、选择题

1. C语言中必须有的函数是(B) A.#include “stdio.h” B.main C.printf D.scanf

2. 对C语言源程序执行过程描述正确的是(A) A. 从main函数开始执行

B. 从程序中第一个函数开始执行,到最后一个函数结束 C. 从main函数开始执行,到源程序最后一个函数结束 D. 从第一个函数开始执行,到main函数结束

3计算机内部的数据都是以二进制形式存储的,每一个二进制数称为一位(bit),位是计算机中最小的存储单元,一个字节有(D)位 A.1 B.2 C.4 D.8

4. ’a’在内存中占___个字节,”a”在内存中占___个字节(B) A、1,1 B.1,2 C.2,2 D.2,4

5. Turbro C 中int类型变量所占的字节数是(B) A.1 B.2 C.3 D.4

6. 以下选项中,属于C语言中合法的字符串常量的是(B) A .how are you B.”china” C.’hello’ D.$abc$

7. 下面程序输出的是(C) #include void main() { int x=10,y=3; printf(“%d\\n”,y=x/y); } A.0 B.1 C.3 D.3.33

8. 以下程序的输出结果是(D) main() { int x=10,y=10; printf(“%d %d\\n”,x++,--y); }

A.10 10 B.9 10 C.9 9 D.10 9

9. 表达式:10!=9的值是(C)

A.true B.非零值 C.0 D.1

10. C语言提供的合法的数据类型的关键字是(B) A.Double B.short C.integer D.Char

11 字符(char)型数据在微机内存中的存储形式是(D) A.反码 B.补码 C.EBCDIC码 D.ASCII码

12. 字符串长度函数为(C) A.strcat() B.strcpy() C.strlen()

13.下面程序的输出是(B)

#include void main() { int x=6; printf(“%d”\\n”,--x); } A.4 B.5 C.6 D.7

D.strcmp()

14 C语言中运算对象必须是整型的运算符是(A)

A:% B./ C.= D.<=

15. 以下字符不是转义字符的是(C)

A.\\a B.\\b C.\\c D.\\\\

16. 下列当中全部为输入函数的是___A A.getchar函数 scanf函数 B.fputc函数 fopen函数 C .printf函数 scanf函数 D.printf函数 getchar函数

17. 以下程序的运行结果是(D) #include “stdio.h” { int x,y; x=32767; y=x+1; printf(“%d”,y); }

A.-32767 B.0 C.32768 D-32768

18. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A.只允许整型常量

B.只允许整型表达式 C.整型常量或整型表达式 D.任何类型的表达式

19. 若有定义语句:int a[2][3];以下选项中对a数组元素正确引用的是(D) A.a[2][!1] B.a[2][3] C.a[0][3] D.a[1>2][!1]

20. C语言函数的返回值的类型是由(D) A.return语句中的表达式类型所决定 B.调用该函数的主调函数类型所决定 C.系统临时决定

D.在定义函数时所指定的函数类型所决定

21. int s(float x,float y); main() { float a=1.5,b=3.2; printf(“sum=%d\\n”,s(a,b);

}

Int s(float x,float y) { return(x+y); }

程序运行结果sum=___B A.4.7 B.4 C. 5 D.false

22. 有关for循环描述正确的是(D)

A.for循环只能用于循环次数已经确定的情况 B.for循环是先执行循环体语句,后判断表达式 C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

23. 调用函数时,基本类型变量作函数实参,它和对应的形参(A) A.各自占用独立的存储单元 B.共占一个存储单元 C.同名时才能共用存储单元 D.不占用存储单元

24. 已知:int a,*p=&a;语句中的”*”的含义是(A) A.指针运算符 B.乘号运算符 C.指针变量定义标志 D.取指针内容

二、程序编写题

1. 判断年份是否是闰年。 #include

void main() { int year; printf(\ scanf(\ if(year%4==0&&year0!=0||year@0==0) printf(\ else printf(\}

2. 通过函数调用,从键盘输入两个数,求最大值。 #include \int max(int x,int y) { int z; z=x>y?x:y; return (z); }

main() { int a,b,c; scanf(\ c=max(a,b); printf(\}

3. 计算1+2+3+…+100的值。 #include \main() { int i,n,sum; printf(\ scanf(\ for(i=1,sum=0;i<=n;i++) { sum=sum+i; } printf(\}

4. 输入成绩score判断是否及格,如果及格判断是否优秀 #include \main()

{ }

int score;

printf(\scanf(\if(score>=60) if(score>=90) printf(\ else printf(\else printf(\

5. 判断一个数是否是素数 #include main() { int m,i,flag; flag=1; printf(\ scanf(\ for(i=2;i

6. 用冒泡排序对10个整型数进行排序

#include \main() { int i,j,t,a[10]; printf(\ for(i=0;i<10;i++) scanf(\

}

for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf(\ for(i=0;i<10;i++) printf(\ printf(\