您的当前位置:首页C语言练习题

C语言练习题

来源:小侦探旅游网


1. 以下能对一 维数组 a进行正确初始化的语句是( )

A. int a[2] ={1,2,4,5}; B. int a[2]=[5,2]; C. int a[]={1,0,1}; D. int a[2]={{1},{4}};

2. while循环语句的循环体至少执行多少次

3. 若有 int i=2,j=4; 则执行完 i*=j+8;后 i 的值为( ) 4. do...while循环语句的循环体至少执行多少次( ) 5. 表达式 !( 3 == 5) 的值为 ____________ 6. 5. 以下字符中不是转义字符的是( )

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

7. 以下运算符中, 优先级最高的运算符是( )

A. || B. % C. ! D. ==

8. 若定义 int k=7,x=12 ,则能使值为3的表达式是( ) A. x%=(k%=5) B. x%=(k-k%5) C. x%=k-k%5 D. (x%=k)-(k%=5)

9. 若已定义 a 为 char 类型变量,下列语句中声明指针变量 p的正确语句是

( )

A. char p=&a; B. char *p=a; C. char *p=&a; D. *p=*a;

10. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是__ 11. 若有定义 char a=’A’;则 a+2 的值为___

12. 在 C语言中,能代表逻辑值“假”的是( )

13. 若有说明 int a[4][3];则对a数组元素的正确的引用是( )

A. a[1,3] B. a[4][2] C. a[1+1][0] D. a(2)(1)

14. 构化程序设计的3种结构是: 15. 下列程序段的输出结果为( )

int a=3,b=4,t; t=a*=a16. 用C语言描述: x小于y或x小于z 17. 若 x=2,y=345则 x&&y的结果是_____

18. 有定义 int a=8,b=5,c;, 执行语句c=a/b+0.4;后,c 的值为 19. char b[]={\"abcde\数组b的大小为( )

20. C 语言中运算对象必须是整型的运算符是( ) 21. 用C语言描述: c 不能被 d 整除

22. 若 x=4,y=z=1,则表达式 (y>=x)?1:0 的值为

23. 若有定义int a=2;float x=2.5,y=3.5 ; 则表达式 x+a%2*(int)(x+y)%2/3 的值是 24. 若 int q=3, *p=&q; *p=45; 则a的值为_______

25. int q[]={1,2,3,4,5},*p=q;则 (*p+2)+*(p+3) 的值为____ 26. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是 27. 写出以下程序的输出结果

#include \"stdio.h\" int main(void) {

int a[7],i;

for( i=1; i<7; i++) {

a[i] = 3*i % 4; printf(\"%5d\ } }

28. 写出以下程序的输出结果

#include \"stdio.h\" #define N 5

int func( int a[],int n) {

int t=0,j;

for( j=0; jint main(void) {

int b[N]={2,4,6,8,9},s; s=func(b,N); printf(\"%5d\}

29. 请在以下空白处填写上正确的代码,使程序中swap函数是要实现交换二个

参数的值。

#include \"stdio.h\"

void swap( int *a, ___(1)___) {

int t;

____(2)___; *a= *b; *b = t ; }

int main(void) {

int a=2,b=3;

swap(___(3)___, &b); printf(\"%5d,%5d\}

30. 以下程序要提示从键盘输入7个在1 ~ 20 之间的整数,每输入一个数n,则

在下一行输入n个*号,然后继续提示输入下一个整数,直到完成7次。如果输入的数值不在1~20范围内,则输出错误信息并提示重新输入。 #include \"stdio.h\" int main(void) {

int i,a,n=1; while( n < 7 ) /* (1) */ {

printf(\"\\n请输入第 %d 个数\ scanf( \"%d\/* (2) */ while( a>=1 && a<=20 ) /* (3) */ {

for( i=0; i< a; i++ ) printf(\"*\"); n++; }else {

printf(\"\\n输入错误,请重新输入!\"); } }

printf(\"\\n END \"); getch(); }

31. 编写一个C语言程序,从一个包含有5个整数的数组中找出最大值和最小值。 32. 编写一个程序,提示输入一个大于0的整数n,然后输出 1*2*3*„*4*n的

值。如输入5,则输出120 33. 完成以下func函数的代码,此函数要实现计算出参数提供的数据中所有偶数

的和。

#include \"stdio.h\" #define N 9

int func( int a[],int n)

{

/* TODO: 在此写入函数代码 */ }

int main(void) {

int b[N]={1,2,3,4,5,6,7,8,9},s; s=func(b,N); printf(\"%5d\ getch(); }

34. 写出以下程序的输出结果

#include \"stdio.h\" int main(void) {

int a[3]={0},i, k=3; for( i=1; i35. 写出以下程序的输出结果

#include \"stdio.h\" #define N 6

void func( int a[],int n) {

int j;

for( j=0; jint main(void) {

int b[N]={2,4,6,8},i; func(b,N);

for( i=0; i36. 以下程序要实现计算指定长宽高的长方体3个面的面积和体积以及表面积,

请在空白的地方填写上正确的代码。 #include \"stdio.h\"

int main(void) {

int l,w,h,v,s1,s2,s3,s;

printf(\" input length,width and height: \");

scanf(\"%d %d %d\ s1 = l*w; s2 = l*h; s3 = w*h;

s = (s1+ s2 + s3) * 2 ; v = ____(5)_____;

printf(\"s=%5d,v=%5d\ getch(); }

37. 以下程序从键盘读入10个整数到数组中,然后按输入的先后次序倒序输出。

#include #include void func( int *a,int n) {

int *p; p = a + n-1; while( p >= a) {

printf(\"%5d\ p); /* (4) */ p--; } }

int main(void) {

int a[10],i;

printf(\"\\n 请输入10个整数:\"); for(i=0; i<10; i++) {

scanf(\"%d\ /* (5) */ }

func( a ,10); }

因篇幅问题不能全部显示,请点此查看更多更全内容