《c语言自考试题 .pdf》由会员分享,可在线阅读,更多相关《c语言自考试题 .pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、自考高级语言程序设计模拟题第一部分选择题( 20 分)一、单项选择题(本大题共20 小题,每小题1 分,共 20 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1组成 C 语言程序的是()A.过程B.函数C.子程序D. 主程序和子程序2. 下列表达式的值为0 的是()A. 3 5B. 3/5.0C. 3/5D. 35 3C 语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是()A.自动型B.寄存器型C.静态型D.外部参照型4. 设 int a = 3;则表达式a1 的运算结果和a 的值分别是()A. 0 和 2
2、 B. 0 和 3 C. 1 和 2 D. 1 和 3 5自动型变量分配在()A.内存的数据区中B.CPU 的通用寄存器中C.内存的程序区中D. 内存的堆栈区中6. 下列保留字中用于构成循环结构的是()A. ifB. whileC. switchD. default 7对 do-whie 语言错误的说法是()A.可构成多重循环结构B.循环次数不可能为0 C.循环次数可能为0 D.先执行后判断8.设 char x = a;则 printf( x = c, y = c n, x,97);的输出是()A. x = a ,y = 97B. x = 97 ,y = aC. x = 97 , y = 97
3、D. x = a ,y = a 9设 char str110= ABCDE ,str210= XYZ ;则执行语句:printf( %d,strlen(strcpy(str1,str2); 后的输出是()A.3 B.5 C.8 D.9 10. 执行下列程序int a33=1,2 ,3 ;int b33=1,2,3;main()printf( d n, a10 + b00); 后输出的结果是() A. 0 B. 1 C. 2 D. 311 语句 int (*p)( );的含义是()A.p 是一个指向函数的指针变量,该函数的返回值是一个整型数据名师资料总结 - - -精品资料欢迎下载 - - -
4、- - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - - - - - B.p 是指针变量,指向一个整型数据C.p 是一个指向一维数据的指针变量D.p 是指针函数12. 设 int x = 1 ,2,3, 4,5,6,* p = x ;则值为 3 的表达式是()A. p + = 2, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p 13对于程序段float f1(int a) int b ;, main( ) int m,n; m
5、=f1(n);char f2(int x,int y) int a;变量 m,n 的作用范围是()A.整个程序段B.main 函数C.main 函数和 f2 函数D.mian 函数和 f1 函数14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2)printf( d, d n , x1 + x2, b);main()int a = 5, b = 6 ;fun(a, b);后输出的结果是()A. 3,4 B. 11,1 C. 11,4 D. 11,615在下列运算符中,优先级最低的是()A.!B.C.( ) 名师资料总结 - - -精品资料欢迎下载
6、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 30 页 - - - - - - - - - D. 16. 设有定义语句:enum t1 a1, a2 = 7, a3, a4 = 15time;则枚举常量a2 和 a3 的值分别为()A. 1 和 2 B. 2 和 3 C. 7 和 2 D. 7 和 817对于文件操作方式rb+,准确的说法是()A.可读写文本文件B.只读二进制文件C.只读文本文件D.可读写二进制文件18. 在文件使用方式中,字符串rb表示()A. 打开一个已存在的二进制文件,只能读取数据B.
7、打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据 D. 打开一个二进制文件,只能写入数据19设 int a=1,b=2,c=4; 经过表达式( c=a!=b )&(a= =b)&(c=b)运算后, a、b 和 c 的值分别是()A.1,2,0 B.1,2,1 C.1,2,2 D.1,2,3 20. main() 函数可以带两个形参,一般分为argc 和 argv,其中 argv 可以定义为 ()A. int argv; B. char * argv ;C. char argv;D. char * argv ;第二部分非选择题(共80 分)二、填空题(本大题共10 小题
8、,每小题2 分,共 20 分)请在每小题的空格中填上正确答案。错填、不填均无分。21设 char a,b;则表达式 a/b-c的值的类型为。22设 int k=-1 ;执行 printf( %u,k) ;后输出的值是。23设 for(k=0;k0;k+)+k;则该循环共执行次。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - 24设 int a =1,b=2 ;经表达式a=a b,b=ab,a=ab 运算后 a,b 的值分别是。
9、25表示空类型的保留字是。26. 被调函数在执行结束时,这个函数中定义的_类型的变量不被释放。27. 设 struct studentint no ;char name12 ;float score3 ; sl ,* p = &sl ;用指针法给sl 的成员no 赋值1234 的语句是 _。 28. C 语言程序中对文本文件的存取是以_为单位进行的。29. 设 char string = This_is_a_book! ;则数组的长度应是 _。 30. 设 int a23 = 2, 3 ; 则数组元素 _的值为 3。三、程序分析题(本大题共 5 小题,每小题5 分,共 25 分) 阅读下列程序
10、,将输出结果写到各题右侧的空白处31. int a = 200;main()int i ;for(i = 1 ;i = a&c =X&cy?x:y; return y; main( ) int x=100; printf( %dn,sub(x,y); printf( %d,%dn ,x,y); 35.设文件 file1.c 的内容为 COMPUTER 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - #include stdio
11、.hmain( ) FILE *fp; char ch; if(fp=fopen( file1.c ,r)= =NULL) printf( Cannot open file n); exit(0); while(!feof(fp) ch=fgetc(fp);if(ch= A&ch=0;j-)printf(%d,num j); 37一个一维数组和一个二维数组同处一个共用型,将数据输入一维数组后,在二维数组中输出。main( ) union data int a10; int b ;/* 第一空 */ ;union data ab; int i,j; for(i=0;i10,i+) scanf(%
12、d, ); /* 第二空 */ for(i=0;i2;i+) for(j=0;j5;j+) printf( %5d, ); /* 第三空 */ 38. 先为数组 a 输满数据,再为x 输入一个数据,在数组a 中找出第一个与x 相等的元素并将其下标输出,若不存在这样的元素,则输出“Not found! ”标志。 main()int i , x,a10;for(i = 0 ;i10;i + )scanf( d,_) ;scanf( d,&x) ;printf( d,x) ;for(i = 0 ;i no = 1234 ;或者 ( * p) .no = 1234 ;28. 字节29. 1630. a
13、10 三、程序分析题31. 201,21202,22203,23204,24205,2532. N33. 7 6 5 4 3 2 1 34. 100 30,5035. computer 四、程序填充题36. (1) &n(2) n%2(3) n/237. (1)25(2) &ab.ai(3) ab.bij38. (1) &ai 或者 a + i(2) x = = ai(3) 五、程序设计题下述答案仅供参考,若采用其它方法答案,只要正确实现题目要求即可。39.main() int i=1; while(i100) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -
14、- - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - if(i%10=6 & i%3=0) printf(”%5d ”,i);i+; 40. main ()int a = 0, b = 0, i ;for(i = 2 ;i = 100;i + = 2) 2 + = i ;b + = i - 1 ; printf( Sum of even number = d n, a);printf( Sum of odd number = d n, b); 41. # includestring.hmain ()int i,
15、n ;static char str80 ;gets(str);n = strlen(str) ;for(i = 0 ;i 高等教育自学考试C 语言程序设计试卷一、单项选择题 (在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。每小题1 分,共 20 分)1.程序中定义以下宏#define S(a,b) a*b 若定义int area;且令 area=S(3+1,3+4) ,则变量area的值为()A10 B12 C21 D28 2.正确的标识符是()Aa Ba=2Ca.3 Da_3 3.表达式 1&3&5&7的值为()A1B3C5D7 4.语句 printf ( s
16、t)的输出结果为()Ast Bst Cs Ds 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 5. 执行下列语句中,sum 变量的值是()int sum=0 for(int i=0 ;i32 :1 13.假设指针p1 已经指向了某个整型变量,要使指针p2 也指向同一个变量,则下面各项中正确的是()Ap2=*p1 Bp2=*&p1 Cp2=*p1 Dp2=&*p1 14.以下运算符中,运算对象必须是整型的是()A/B%=C !
17、=D= 15.以下关于typedef 的叙述中错误的是()A 用 typedef 可以增加新的类型B 用 typedef 可以定义各种类型名,但不能用来定义变量C 用 typedef 只是将已有的类型用新的标识符来代表D 使用 typedef 有利于程序的通用和移植16.若执行完成下列语句:int a=3,b=6,c;c=ab2;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - 则变量 c 的二进制值为()A00011100
18、B00010100 C0001000 D00011011 17.设有定义int x=1 ; int y= a=&str 2001 年 10 月全国高等教育自学考试高级语言程序设计(一)试卷页面功能【字体:大中 小】 【打印】【关闭】中华会计网校法律教育网考研教育网医学教育网第一部分选择题一、单项选择题(本大题共20 小题,每小题1 分,共 20 分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。1. C 语言程序编译时,程序中的注释部分()A. 参加编译,并会出现在目标程序中B. 参加编译,但不会出现在目标程序中C. 不参加编译,但会出现在目标程
19、序中D. 不参加编译,也不会出现在目标程序中2. 下列表达式的值为0 的是 ()A. 35 B. 3/5.0 C. 3/5 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 30 页 - - - - - - - - - D. 35 3. 正确的 C 语言用户自定义标识符是()A. print B. float C. when?D. random 2 4. 设 int a = 3;则表达式a1的运算结果和a 的值分别是()A. 0 和 2 B. 0 和 3 C. 1 和 2
20、 D. 1 和 3 5. 下列叙述中,正确的是()A. 引用带参的宏时,实际参数的类型应与宏定义时的形式参数类型相一致B. 宏名必须用大写字母表示C. 宏替换不占用运行时间,只占编译时间D. 在程序的一行上可以出现多个有效的宏定义6. 下列保留字中用于构成循环结构的是()A. if B. while C. switch D. default 7. 与语句 if( ab) if(cd)x = 1;else x = 2;等价的是()名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页
21、,共 30 页 - - - - - - - - - A. if (ab)if (cd)x = 1;else x = 2; B. if (ab)if (cd) x = 1; else x = 2 ;C. if ( (ab) & (cd) ) x = 1 ;else x = 2;D. if (ad) x = 1;8. 设 char x = a;则 printf ( x = c, y = c n, x, 97) ;的输出是A. x = a , y = 97 B. x = 97 ,y = a C. x = 97 ,y = 97 D. x = a, y = a 9. 设 int a ;,2,3,4,
22、5,6, 7,8,9 ;则数组a 的第一维的大小是A. 2 B. 3 C. 4 D. 无确定值10. 执行下列程序int a=1,2 ,3 ;int b=1,2,3 ;main()printf ( d n, a 2004 年 7 月浙江高等教育自学考试高级语言程序设计一试题页面功能【字体:大中 小】 【打印】【关闭】中华会计网校法律教育网考研教育网医学教育网名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 30 页 - - - - - - - - - 课程代码: 0034
23、2 一、单项选择题(本大题共15 小题,每小题2 分,共 30 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.函数调用语句“f( (e1,e2) , (e3,e4,e5) ) ”中参数的个数是()A.1 B.2 C.3 D.5 2.不正确的标识符是()A._a2 B.2ai C.a2_i D.INt 3.若 int a= 1,2,3 ,*p ;则下列赋值语句中正确的是()A.p= B.*p=a ;C.* (a+1)=a;D.p=a+1 4. C 程序在作逻辑运算时判断操作数真、假的表述中,正确的是()A.0 为假,非0 为真B
24、.只有 1 为真C.-1 为假, 1 为真D.0 为真,非 0 为假5.若 p1、 p2 都是指向整型的指针,p1 已经指向数量x, 要使 p2 也指向 x, 正确的是()A.p2=p1; B.p2=*p1 ;C.p2= D.p2=*p1 ;6.定义一个有4 个元素的一维整型数组,正确的是()A.float a; B.int a=1 ,2,3,4,5 ;C.int a=1 ,2,3 ;D.int a=1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 30 页 - -
25、- - - - - - - 7.若变量 a,b 已经正确定义并赋值,符合C 语言语法的表达式是()A.a2+b B.a*a+b C.aa+b D.a a+b 8.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低依次为()A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算9.表达式 strcmp( “3.14” , “3.278” )的值是一个()A.非零整数B.浮点数C.0 D. 字符10.执行下列语句printf ( “%d” , a= =A )后输出为()A.1 B. 语法错C.0 D.97 11.若数组
26、定义为;则下列哪个表达式是错误的?()A.*a B.a C. D.+a 12.若定义 char aP=“95” ,b=“windows ” ;则语句 printf ( “%s” ,strcry(a, b) ) ;的输出结果为()A.windows95 B.windows C.95 D.95windows 13.求一个双精度实数的绝对值,应该调用函数()A.sqrt B.pow 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 30 页 - - - - - - - - -
27、C.abs D.fabs 14.表达式 10%2 值是()A.0 B.1 C.5 D.5.0 15.若变量已正确定义,表达式(j=3, j+)的值是()A.3 B.4 C.5 D.0 二、判断题(判断下列各题,正确的在题后括号内打“”,错的打“” 。本大题共5小题,每小题2 分,共 10 分)16.主函数可以分为两个部分:主函数说明部分和主函数体。()17.函数的定义和函数的调用均可以嵌套。()18.在 C 语言中,当我们定义了数组int a;则数组元素的下标从1 到 5. ()19.在 C 语言中,“A”占两个字节,而A占一个字节。()20.程序中定义的整型变量的初值都为0. ()三、程序填
28、空题(本大题共2 小题,共 6 个空格,每空4 分,共 24 分)请在每小题的空格中填上正确答案。错填、不填均无分。21.下面程序调用swap 函数交换a和 b 的值,并输出交换后的a和 b 的值。程序的输出结果是: After Call Function Swap 5 ,9. #include stdio.hvoid main() int x=9 ,y=5;swap() ;printf ( “After Call Function Swap %d, %d” , x,y) ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精
29、心整理 - - - - - - - 第 18 页,共 30 页 - - - - - - - - - swap() int temp;temp=*x ;*y=temp ; 22. 输入一个正整数后, 输出该数的位数。 例如,若输入 3576, 则输出为 4, 输入为 31678,则输出为5. #include stdio.hvoid main() int n,k=0;scanf( “%d” ,) ;while() k+;n= ; printf ( “%dn” ,k) ; 四、程序分析题(本大题共2 小题,每小题8 分,共 16 分)23.阅读下列程序段,简述其主要功能。#include stdi
30、o.hvoid main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 30 页 - - - - - - - - - FILE*fpd1 ,*fpd2 ;char ch;fpd1=fopen ( “d1.dat” , “r” ) ;fpd2=fopen ( “d2.dat” , “w” ) ;while(fscanf(fpd1, “%c” ,if (ch=A ch =Z ch=a ch= z )fprintf (fpd2, “%c” ,ch) ;fclose(fp
31、d1) ;fclose(fpd) ; 24.阅读下列程序段,简述其主要功能。#include stdio.h#include string.hvoid main() char ad,bd, *p,*q;int m;gets( a) ;scanf( “%d” ,p=a;q=b;for(p=p+m-1 ) ;*p! =0 ;p+,q+)*q=*p ;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 30 页 - - - - - - - - - *q= 0 ;printf (
32、“%sn” ,b) ; 五、程序设计题(本大题共2 小题,每小题10 分,共 20 分)25.写一个程序,读入一个33 的矩阵,输出它的转置。(注:转置是将原矩阵的行列互换)26.求出 10 到 100 之间的素数 (只能被 1 和自身整除的数)并以每行一个素数的格式顺序写入文件su.dat. 2003 年 4 月全国高等教育自学考试计算机基础与程序设计试题页面功能【字体:大中 小】 【打印】【关闭】中华会计网校法律教育网考研教育网医学教育网课程代码: 02275 一、单项选择题(本大题共20 小题,每小题1 分,共 20 分)在每小题列出的四个备选项中只有一个是符合题目要求的。请将其代码填写
33、在题后的括号内。错选、 多选或未选均无分。1.按冯诺依曼的设计思想,计算机采用的数制是()A.二进制B.八进制C.十进制D. 十六进制2.若机器的当前系统提示符为A,欲将 C 盘 TC 子目录下文件名第二个字符为T,扩展名为 C 的所有文件删除,应采用的操作命令是()A.DEL T*.C B.DEL C:TC*T*.C C.DEL TC T*.C D.DEL C:TC T*.C 3.下面哪一个是合法的指数型实数()A.E5 B.-1.0e-5 C.1.2e+5.1 D.e8 4.以下正确的C 语言标识符是()A.%d B.a+b C.-123 D.3D 名师资料总结 - - -精品资料欢迎下载
34、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 30 页 - - - - - - - - - 5.设有 int i;char c; float f ;下面结果为整型的表达式是()A.i+f B.i*c C.c+f D.i+c+f 6.以下使 i 的运算结果为4 的表达式是()A.int i=0 ,j=0; (i=3, (j+ )+i) ;B.int i=1 , j=0; j=i=( i=3)*2) ;C.int i=0 , j=1; ( j=1)(i=1) : (i=3) ;D.int i=1 ,j=1;i+
35、=j+=2 ;7.下面程序段的运行结果是()main() int a ,b,c;a=(b=(c=3)*5) *2-3 ;printf ( %d,%d,%dn, a,b,c) ; A.27,15,3 B.3,15,27 C.-1,15,3 D.15,27,3 8.对下述程序,正确的结论是()#include main() int x ,y;scanf( %d,%d, &x , &y ) ;if(xy )x=y; y=x;else 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页
36、,共 30 页 - - - - - - - - - x+; y+;prinft ( %d,%d, x,y) ; A.有语法错误,不能通过编译B.若输入数据3 和 4,则输出4 和 5 C.若输入数据4 和 3,则输出 3 和 4 D.若输入数据4 和 3,则输出 4 和 4 9.以下程序的输出结果是()main() int a=10 ;a10 a-;a+;a+=a;printf ( %dn, a) ; A.-22 B.11 C.22 D.-11 10.在 C 语言中,由do-while 语句构成的循环中结束循环的条件为()A.1 B.true C.0 x10 D.0 11.以下程序的输出结果是
37、()main() int i ,x=0;for(i=0;i=2; i+ )x+;prinft ( x=%d , x) ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 30 页 - - - - - - - - - A.x=3 B.x=8 C.x=6 D.x=4 12.对下面程序段进行语法分析,正确的说法是(各行前的数字是附加的行号)float a=2.0;int i;scanf(%f , &a) ;for(i=1;i3; i+)a “C 语言”试题第一部分选择题(共
38、10 分) 一、单项选择题(本大题共 10 小题,每小题1 分,共 10 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选、多选或未选均无分。1.正确的自定义标识符是( ) A.a=2 B.a+b C.name D.default 2.错误的转义字符是( ) A.091 B. C.0 D. 3.设 int a,b,c; 执行表达式a=b=1,a+,b+1,c=a+b- 后, a,b和 c 的值分别是( ) A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3 4.在 C 语言中,错误的常数是( ) A.1E+0.0 B.5. C.0 xaf
39、D.0L 5.下面运算符优先级最高的是( ) A.a D.*p.b 第二部分非选择题(共 90 分) 二、填空题(本大题共5 小题,每空2 分,共 20 分) 请在每小题的空格上填上正确答案。错填、不填均无分。11.在 C 语言中,单目运算符的结合方向(运算方向 )是_;唯一的一个三目运算符是 _。12.字符串 AB 的内容是 _,存储需要的字节数是_。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 30 页 - - - - - - - - - 13.设 int a10
40、 ,b33 ;数组元素a5和 b12 分别用指针表示的形式是_和_。14.编译预处理的三种形式除宏定义外,还有_和_。15. 文 件 操 作 方 式 w 和 rb+的 含 义 分 别 是 _ 和_ 。三、程序分析题(本大题共 7 小题,每小题5 分,共 35 分) 阅读下列程序,将输出结果分别写到各题右侧的空白处。16. main() int a=3,b=9,c=2; if(a if(a printf(%5d%5d%5dn,a,b,c); 17. void change(int *x,int y) int t; t=*x;*x=y;y=t; main() int a=3,b=5; change
41、(&a,b); printf(a=%d,b=%dn,a,b); 18. main() int j; for(j=4;j=2;j-) switch(j) case 0: printf(%4s,ABC); case 1: printf(%4s,DEF); case 2: printf(%4s,GHI);break case 3: printf(%4s,JKL); default: printf(%4s,MNO); printf(n); 19. main() int j,a6=1,2; for(j=3;j6;j+) aj=aj/2+aj%3-aj-2; for(j=0;j6;j+) printf(%
42、5d,a); printf(n); 20. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 30 页 - - - - - - - - - int a=10; int f(int a) int b=0;static int c=3; a+;+c;+b; return a+b+c; main() int i; for(i=0;i2;i+)print(%5d,f(a); printf(n); 21. #define N 2 #define M N+1 #define NUM
43、2*M+1 int fib(int n) return ntype PROC.c main(int argc,char * argv) while(-argc0) printf(%s,argvargc); printf(n); 写出执行下列命令后的输出结果CPROG 2008 OLYMPIC BEIJING 四、程序填空题(本大题共 2 小题,每空3 分,共 15 分) 23.任意输入三条边(a,b,c)后,若能构成三角形且为等腰、等边和直角,则分别输出DY 、DB和 ZJ,若不能构成三角形则输出NO。main() float a,b,c,a2,b2,c2 scanf(%f%f%f%,&a,&
44、b,&c); printf(%5.1f,%5.1f,%5.1f,a,b,c); if(a+bc&b+ca&a+cb) if(_)printf(DY);if(_)printf(DB); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 30 页 - - - - - - - - - a2=a*a;b2=b*b;c2=c*c; if(_)printf(ZJ); printf(n); else printf(NOn); 24.输出下列图形。1 2 3 4 5 6 7 8 9 ma
45、in() 2 3 4 5 6 7 8 9 int I,J; 3 4 5 6 7 8 9 for(I=1;I=_;I+) 4 5 6 7 8 9 for(J=_;J=9;J+)printf(%2d,J); 5 6 7 8 9 printf(n); 6 7 8 9 7 8 9 8 9 9 五、程序设计题(本大题共 2 小题,每小题10 分,共 20 分) 写出下列问题的程序。25.输入十个整数,计算出平均值(aver),找出其中最大者(max)和最小者 (min)并将三者输出。26.将十个实型数输入数组(float n10;) 逆序存放后再输出。“C 语言”试题第一部分选择题(共 10 分) 一、
46、单项选择题(本大题共 10 小题,每小题1 分,共 10 分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填在题后的括号内。错选、多选或未选均无分。1.正确的自定义标识符是( ) A.a=2 B.a+b C.name D.default 2.错误的转义字符是( ) A.091 B. C.0 D. 3.设 int a,b,c; 执行表达式a=b=1,a+,b+1,c=a+b- 后, a,b和 c 的值分别是( ) A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3 4.在 C 语言中,错误的常数是( ) A.1E+0.0 B.5. C.0 xaf D.0L 5.下
47、面运算符优先级最高的是( ) A.a D.*p.b 第二部分非选择题(共 90 分) 二、填空题(本大题共5 小题,每空2 分,共 20 分) 请在每小题的空格上填上正确答案。错填、不填均无分。11.在 C 语言中,单目运算符的结合方向(运算方向 )是_;唯一的一个三目运算符是 _。12.字符串 AB 的内容是 _,存储需要的字节数是_。13.设 int a10 ,b33 ;数组元素a5和 b12 分别用指针表示的形式是_和_。14.编译预处理的三种形式除宏定义外,还有_和_。15. 文 件 操 作 方 式 w 和 rb+的 含 义 分 别 是 _ 和_ 。三、程序分析题(本大题共 7 小题,
48、每小题5 分,共 35 分) 阅读下列程序,将输出结果分别写到各题右侧的空白处。16. main() int a=3,b=9,c=2; if(a if(a printf(%5d%5d%5dn,a,b,c); 17. void change(int *x,int y) int t; t=*x;*x=y;y=t; main() int a=3,b=5; change(&a,b); printf(a=%d,b=%dn,a,b); 18. main() int j; for(j=4;j=2;j-) switch(j) case 0: printf(%4s,ABC); case 1: printf(%4
49、s,DEF); case 2: printf(%4s,GHI);break case 3: printf(%4s,JKL); default: printf(%4s,MNO); printf(n); 19. main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 30 页 - - - - - - - - - int j,a6=1,2; for(j=3;j6;j+) aj=aj/2+aj%3-aj-2; for(j=0;j6;j+) printf(%5d,a); p
50、rintf(n); 20. int a=10; int f(int a) int b=0;static int c=3; a+;+c;+b; return a+b+c; main() int i; for(i=0;i2;i+)print(%5d,f(a); printf(n); 21. #define N 2 #define M N+1 #define NUM 2*M+1 int fib(int n) return ntype PROC.c main(int argc,char * argv) while(-argc0) printf(%s,argvargc); printf(n); 写出执行