文档库 最新最全的文档下载
当前位置:文档库 › C语言练习题汇总(一)

C语言练习题汇总(一)

C语言练习题汇总(一)
C语言练习题汇总(一)

1.关于C程序的叙述,错误的说法是。

(A)C程序总是从主函数开始执行

(B)C程序中定义的第一个函数是主函数

(C)在主函数中可以调用其他函数

(D)一个C程序可以包括多个函数

2.C语言的基本数据类型包括。(A)char (B) struct (c) string (D) typedef

3.C语言关键字的是。(A) while(B) printf (C) main (D) FILE

4.错误的C标识符是。(A) e2 (B) name_ (C) A_B (D) 2e

5.在下列运算符中,优先级最低的运算符是。(A) == (B) =(C) && (D) +

6.下列一维数组声明中,错误的是。(A) int a[]={1,2,3}; (B) int a[5];(C) int n=5, a[n]; (D) int a[5]={1,2,3};

7.执行语句:printf("aaaa\nbbbb")输出的结果是。(A) aaaa\nbbbb (B) aaaabbbb(C) aaaa bbbb (D) 不能输出8.要表示年龄(age)在18至25之间,正确的表达式是。(A)18<=age<=25 (B) 18<=age && age<=25

(C ) 18<=age || age<=25 (D) 18<=age and age<=25

9.有定义int a, *p; 下列赋值语句中,正确的是。(A) p=a; (B) p=&a; (C) p=*a; (D) *p=&a; 10.若已经定义char a[10]={"abcd"}, *p=a; 则表达式*(p+1) 的值是。(A) “abcd” (B) “bcd”(C) …b?(D) 语法错误11.若已经定义typedef struct stu { int a, b; } student ; ,则下列叙述中正确的是。

(A)stu 是结构变量(B) student 是结构变量(C) student 是结构类型(D) a和b是结构型变量

12.设有定义int a[10] , *p=a; 下列对数组元素a[1]的引用中,错误的是。

(A) p[1] (B) *(++a) (C) *(++ p) (D) *(a+1)

13.以下叙述中,错误的是。

(A) 不同函数中可以使用相同的变量名(B) 全局变量和局部变量可以同名

(C) 形式参数是局部变量(D) main() 函数中定义的变量在整个程序中都可使用

14.设有函数定义:void p(int x){printf("%d",x) ; } 则正确的函数调用是。

(A) p(3); (B) a=p(3); (C) printf("%d"; p(3)); (D) p(int x);

15.设有如下定义:

int x=2, y;

int fun(int *a) { return *a+1; }

下列函数调用中,实际参数正确的是。

(A) y=fun(x); (B) y= fun (&x);(C) y=fun(*x); (D) y=fun(a);

17.设有宏定义#define N 3+2 则语句printf("%d",N*N); 的输出结果为。

(A) 11 (B) 25 (C) 10 (D) 以上都不对

18.执行语句scanf("%d+%d",&a,&b); 时,正确的键盘输入为。

(A) 3,5 (B) 3 5 (C) 3+5 (D) 3;5

19.执行if (a<=b) {a=b; b=a;} else {a++; ++b;}语句后,正确的说法是。

(A)当条件满足时变量a和b的值对调(B) 当条件满足时变量a和b的值不变

(B)当条件不满足时变量a和b的值各增加1 (D) 当条件不满足时变量b的值增加1,a不增加

20.设已定义int a=3,b=4;

执行if (a=b) printf(“aaa\n”) else printf(“bbb\n)语句后,正确的说法是。

(C)输出aaa (B) 输出bbb (D)编译时会出错(D) 运行时会出错

21.设有说明语句int x=1,y=2; 则执行表达式x=y= =3后,变量x的值为。

(A) 0 (B) 1 (C) 2 (D) 3

22.已定义float f=1.2;

执行语句printf(“%d\n”,f);后,正确的说法是。

(A)输出 1.2 (B) 输出 1 (C)语法错误(D) 可以输出,但不是1.2和1

23.设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c+6-14%c的值为_____

(A)6 (B)7 (C)8 (D)9

二.写出程序的运行结

//阅读程序“阅读1.gif”,把程序的运行结果写入文件“阅读1.txt”中。

//阅读程序“阅读2.gif”,把程序的运行结果写入文件“阅读2.txt”中。

//阅读程序“阅读3.gif”,把程序的运行结果写入文件“阅读3.txt”中。

1. 阅读1.gif

#define N 5

main()

{int i,t,a[]={1,2,3,4,5};

for(i=0;i

{ printf(“%d\n”, test(1));

printf(“%d\n”, test(2));

}

7

9

3.阅读3.gif

#include

int a=1,b=1;

f(int x, int *y)

{x=3;*y=3;}

main()

{ int b=2,c=2,d=2;

f(c,&d);

printf("a=%d\n",a);

printf("b=%d\n",b);

printf("c=%d\n",c);

printf("d=%d\n",d);

}

三.程序调试题%12

调试并运行程序“改错1.cpp”和“改错2.cpp”

1.

// 改错1.cpp

// 求给定整数的各位数之和。如32761=3+2+7+6+1=19

// 程序修改完成后,必须运行本程序一次,并按要求输入数据#include //

void main()

{

int k,sum=0;

printf("输入一个正整数:");

scanf("%d",&k);

while k //while (k)

{ sum+=k/10; //sum+=k%10;

k/=10;

}

printf("sum=%d\n",sum);

2.

// 改错2.cpp

// 按以下格式输出各行整数。

// 1

// 1 4

// 1 4 9

// 1 4 9 16

// 1 4 9 16 25

// 程序修改完成后,必须运行本程序一次

#include

void main()

{ int i,j //int i,j;

for( i=1;i<=5;i++)

{ for( j=1;j<=i;j--); //for( j=1;j<=i;j++)

printf("%d\t",j*j);

printf("\n");

}

}

四.程序设计%24

编写以下三个程序,并分别存入文件:“程序1.cpp”、“程序2.cpp”和“程序3.cpp”。

1.输入圆的半径r,计算并输出其周长C和面积S。(c=2πr, s=πr2)

2.商场进行打折销售,如顾客一次购买商品100元~999元按9折结算,如一次购买商品1000元以上,则按8折结算。已知某顾客的采购金额,求该顾客的实际支付金额。

3.输出所有个位数和百位数之和为10的三位数整数(如:109,119,129……981,991) ,每行输出5个数,各个数之间用”\t”分隔。

相关文档