C语言程序设计期末考试复习提纲 联系客服

发布时间 : 星期五 文章C语言程序设计期末考试复习提纲更新完毕开始阅读

A) printf(“%c”,class[3].name[0]); B) printf(“%c”,class[2].name[4]); C) printf(“%c”,class[3].name[3]); D) printf(“%c”,class[3].name[1]); 32. 根据以下定义,输出字符不为‘a’的语句是( )。 struct person { char name[9]; int age;

}class[10]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16};

A) printf(“%c”,class[1].name[1]); B) printf(“%c”,class[2].name[1]); C) printf(“%c”,class[3].name[0]); D) printf(“%c”,class[3].name[2]); 33.下面程序的运行结果是( )。 main() { struct cmplx { int x; int y;

}cnum[2]={1,2,3,4};

printf(\ A) 1 B) 4 C) 6 D) 8 34.下面程序的运行结果是( )。 main()

{ struct cmplx { int a ; int b ;

}cnum[3]={1,2,3,4,5,6};

printf(\ }

A)4 B)3 C)2 D)1

35.若要将 “program.txt”文件打开用于追加信息,则以下格式正确的是( )。 A)fp=fopen(“program.txt”, “r”); B)fp=fopen(“program.txt”, “a+”); C)fp=fopen(“program.txt”, “r+”); D)fp=fopen(“program.txt”, “w”);

36.要使用fopen函数打开一个新的只写的二进制文件,文件的打开方式应是( 第 5 页 共 12 页

。 )

A) “w” B) “wb” C) “w+“ D) “wb+” 37.下列关于C语言中对文件的操作的传述中,正确的是( )。

A.对文件进行操作必须先打开文件 B.对文件进行操作必须先闭文件 C.对文件进行操作时没有顺序的要求 D.对文件操作前须先测试文件是否存在 38.要使用fopen函数打开一个新的可读可写的文本文件,文件的打开方式应是( )。 A) “a+” B) “r+” C) “w+“ D) “wb+”

39.若要将 “text.txt”文件打开用于追加信息,则以下格式正确的是( )。 A. fp=fopen(“text.txt”, “r”); B. fp=fopen(“text.txt”, “a+”); C. fp=fopen(“text.txt”, “r+”); D. fp=fopen(“text.txt”, “w”);

40.若要打开a盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( )。

A.fopen(“a:\%user\\abc.txt”,“r”) B.fopen(“a:\%user\\abc.txt”,“r+”) C.fopen(“a:\%user\\abc.txt”,“rb”) D.fopen(“a:\%user\\abc.txt”,“w”) 41.执行函数fopen (“abc.txt”, “w+”)的含义是( )。

A.以读的方式打开一个文件

B.以写的方式打开一个文件 D.创立一个只可写的文件

C.创立一个既可读又可写的文件

42.要使用fopen函数打开一个新的只写的二进制文件,文件的打开方式应是( )。 A) “w” B) “wb” C) “w+“ D) “wb+” (二)填空题:

(1) 将算术表达式 写成C表达式为: _ ______。

3x-2y x2-y

(2) 表达式(1/2)*3.0的值为:____ ____。

(3) 将算术表达式 写成C表达式为:___ __。

x2+4y 2x+1

(4) 若有 int x=10,y=20; 则运行

printf(“%d,%d”,++x,y++); 结果为:_____________。

(5) 若有定义int a[4][5]={{1,0,1,0},{2,1,2,1,0},{5}},则初始化后,a[1][3]的值是__ __,a[3][1]的值是___

__。

(6) 表达式(1/2)*1.5的值为:____ ________。 (7) 将表达式a≤b≤c写成C表达式为:_____ _____。

(8) 以下程序的功能是判断一个大于1的整数是否为素数,是则输出‘Y’,否则输出‘N’,请填空。

main() { int i,n; scanf(“%d”,&n); for(i=2;i

(9)以下程序的运行结果是_________。 main()

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

char c=’a’;

printf(“%d”,a[ ‘c’ - c]); }

(10) 以下程序的功能是输入一个字符串,输出字符串的长度,请填空。 #include main() { char str[20]; gets(__ _); printf(“%d”,___ _____); getch( );}

(11) 以下函数的功能是判断一个大于1的整数是否为素数,是则返回‘Y’,否则返回‘N’,请填空。

__ _ sushu(int x) { int i;

for(i=2;i

if(_ _)return ‘N’;

return ‘Y’;}

(12) 若有定义: int a[]={2,4,6,8,10,12},*p=&a[1]; 则*(++p)的值是__ ___。 (三)程序阅读题:(写出程序运行结果) 1.下面程序的输出结果是 。 #include main() { int x;

第 7 页 共 12 页

x=(x=4*5,x+5,x+25); printf(“x=%d\\n”, x) ;}

2. 下面程序的输出结果是 。 #include main() { float y; int x;

x=1.2; y=(x+3.8)/2;

printf(“x=%d,y=%.2f\\n”, x,y) ;} 3.下面程序输出结果是 。

main()

{ int x=10, y=20, z=30; if ( x < y ) if ( y < 0 ) z=0; else z+=1; printf (“%d\\n” ,z);}

4. 下面程序运行结果是 。 #include main() { int x=5;

if(x++>5)printf(“x=%d\\n”, x); else printf(“x=%d\\n”, ++x);}

5.下面程序的输出结果是 。 #include main()

{ int x=10203,z=0,y; while(x)

{ y=x; if(y= =0) z++; x=x/10;} printf(\; }

6.下面程序的运行结果是 。