C语言程序设计模拟试题2(附答案)new 下载本文

内容发布更新时间 : 2024/12/22 14:51:05星期一 下面是文章的全部内容请认真阅读。

{

FILE *fp; long num=0;

if ((fp=fopen(\ {

printf(\ exit(0); }

while (!) {

fgetc(fp); num++; }

printf(\ fclose(fp); }

15.执行下述程序后,输出结果为___29______。 #include #define FUN1(a,b) a+b #define FUN2(a,b) a-b #define CAL(a,b) a*b+a+3 main() {

printf(\ }

1、

B

2、

B

3、

A

4、

C

5、7、 B 8、 A 9、 D 10、C 11、D 13、A 14、D 15、A 16、A 17、B 18、A

19、B 20、C

二、单项选择题。(每题1分,共20分)

欢迎下载

C

6、12、D

D

——

6

——

1.以下不是c语言规定保留字的是( B )。

(A)float (B)integer (C)signed (D) unsigned 2.设int型变量x有初始值3,则表达式x++*5/10的值是( B ) (A)0 (B)1 (C)2 (D)3 3.下述程序执行后的输出结果是( A ) #include main() {

int x='f';

printf(\ }

(A)g (B)h (C)i (D)j 4.设有程序

#include main() {

int i,j;

for (i=0,j=1;i<=j+1;i+=2,j--) printf(\ }

在运行上述程序时,for语句中循环体的执行次数是( C (A)3 (B)2 (C)1 (D)0 5.在下述选项时,没有构成死循环的程序是( C ) (A)int i=100 while (1) {

i=i0+1; if (i>100) break; }

欢迎下载

) 7

(B)for (;;); (C)int k=1000; do {

++k;

}while (k>=10000); (D) int s=36;

while (s);--s;

6.假定a和b为int型变量,则执行下述语句组后,b的值为( D a=1; b=10; do {

b-=a;A a++;

} while (b--<0);

(A)9 (B)-2 (C)-1 (D)8 7.设有变量说明语句 int a=1,b=0;

则执行以下程序段的输出结果为( B )。 switch (a) {

case 1:

switch (b) {

case 0:printf(\ case 1:printf(\ }

case 2:printf(\ }

欢迎下载

)。——

8

——

printf(\

(A)**0** (B)**0****2** (C)**0****1****2** (D)有语法错误 8.以下合法的数组说明是( A )。

(A)char a[7]=\ (B)int a[5]={0,1,2,3,4,5}; (C)char a=\ (D)INT a[]={0,12,3,4,5}; 9.下述程序代码中有语法错误的行是( D )。 int i,ia[10],ib[10]; /*第1行*/ for (i=0;i<=9;i++) /*第2行*/

ia[i]=0; /*第3行*/ ib=ia; /第4行*/ (A)第1行 (B)第2行 (C)第3行 (D)第4行 10.若已定义

int a[9],*p=a;

并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( (A)p+1 (B)a+1 (C)a++ (D)++p 11.若有下述说明和语句

int **pp,*p,a=10,b=20; pp=&p; p=&a; p=&b;

printf(\ 则输出结果是( D )。

(A)10,10 (B)10,20 (C)20,10 (D)20,20 12.执行下述程序后的输出结果是( D )。 #include func(int a) {

int b=0;

static int c=3; a=c++,b++;

欢迎下载

C )。 9

return (a); }

main() {

int a=2,i,k; for i=0;i<2;i++) k=func(a++); printf(\ }

(A)3 (B)0 (C)5 (D)4 13.执行下述程序的输出结果是( A )。 #include main() {

int aa[3][3]={{2},{4},{6}}; int i,*p=&aa[0][0]; for (i=0;i<2;i++) {

if (i==0)

aa[i][i+1]=*p+1; else ++p;

printf(\ }

printf(\ }

(A)23 (B)26 (C)33 (D)36

14.读下面的程序,正确的输出结果是( D #include static int a=50;

欢迎下载

)。——

10