计算机语言程序设计试题
题号 分值 分数 一 30 二 30 三 20 四 10 五 10
得分 评卷人 一、填空题(每空2分,共30分)
1.结构化程序设计的三种基本结构是:【1】 、【2】 和【3】 。 2.在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为【4】 。 3.若有定义int a=2;在Turbo C中有printf(“%d,%d”,a,2&&++a);则输出为【5】 。 4.表达式x=23>16&&12+1的值为【6】 。
5.执行语句printf(\"%d\",strupr(\"Windows\");后,输出结果为【7】 。 6.有int a=12,n=5,表达式a%=(n%=2)运算后a的值为【8】 。 7.在C语言中,二维数组元素在内存中的存放顺序为【9】 。
8.使用局部和全局变量时,全局变量和局部变量【10】 同名;形参和局部变量【11】 同名。
9.字符数组的输入输出有两种方法:逐个字符输入输出,用格式符【12】 ;将整个字符串一次输入或输出,格式符【13】 。
10.语句段char s[20]=”ABCD”,*sp=s; sp++;puts(strcat(sp+1,”MA”));的输出结果是【14】 。 11.在C程序中,指针变量能够赋地址值或【15】 值。 得分 评卷人 二、单项选择题(每小题2分,共30分)
1.C程序的基本单位是( )
A.语句
B.字符
C.程序行
D.函数
2.TURBO C中float类型变量所占字节数是( )
A.8
B.4
C.2
1 / 5
D.2
3.以下符号中能用作用户标识符的是( )
A.if
B.3com
C._3com
D.break
4.C语言中运算对象必须是整型的运算符是( )
A.%=
B./
C.=
D.*
5.执行循环语句:for(x=0,y=0;y!=200&&x<4;x++)y+=100;其循环体共执行( )次。
A.2
B.3
C.4
D.5
6.与(!a==1)等价的表达式是( )。
A.(a>0)
B.(!a)
C.(a!=0)
D.(a<0)
7.如有函数int max(float x){x++;return x;},则该函数返回值的类型为( )。
A.float类型
B.void类型
C.int类型
D.无法确定
8.能正确表示代数式ln(x+y)的C语言表达式是( )。
A.log10(x+y)
B.lg10(x+y)
C.lg(x+y)
D.log(x+y)
9.执行下面的程序段后,num的值为( )。
int *p,num; A.30
num=10; p=# num=*p+20;
B.20
C.10
D.40
10.若有定义:int x,*pp;则正确的赋值表达式是( )。
A.pp=&x
B.pp=x
C.*pp=&p
D.*pp=*x
11.若有定义int x=1,y=1,z=1,c;执行语句c= --x&&++y&&z++;后x、y、z的值分别是( )
A.0、2、2
B.0、1、1
C.0、1、2
D.0、2、1
12.字符串”\\abcd\\13\\\\”的长度是( )。
A.7
B.6
C.11
D.10
13.下面程序main( ){int c1=2,c2=0; while(c1) {printf(”%d %d”,c1--,c2);}}运行的结果是( )。
A.输出2 0
14.下面程序运行的结果是( )。
#include void main( ){printf(“HELLO”);printf(HELLO);} A.HELLOHELLO B.HELLO C.HELLOlin D.linHELLO B.无输出内容 C.陷入死循环 D.输出1 0 15.下面程序的输出结果是( )。 计算机语言程序设计考试试题 main( ) {int x=3,y=1; switch(x==3) {case 1: x++;y++; case 2: x++;y++; default:x++,y++;} printf(”x=%d,y=%d\\n”,x,y);} A.x=3,y=1 得分 评卷人 B.x=4,y=2 C.x=5,y=3 D.x=6,y=4 三、阅读程序题(20分) 1.阅读程序,正确写出程序的运行结果:(10分) #include {char *cc=\"START\\12END\"; int i,c; for(i=2;(c=cc[i])!='\\0';i++){ switch(c){ case 'A':putchar(c+32);break; case 'T':putchar(c+2);continue; case '!':putchar(c);break; case 'E':while((c=cc[++i])!='\\0');--i;continue; case '10':putchar('X');break; case 10:putchar('&');continue;} putchar('%');}} 2.阅读下面的程序,按格式正确写出程序的运行结果:(10分) #include printf(\"\\n%d,%d\ sub1(x,y); 3 / 5 printf(\"\\n%d,%d\ sub1(int a,int b) {int y=4; x=++b; printf(\"\\n%d,%d\ x=a++; sub2( ); printf(\"\\n%d,%d\ sub2( ) {int y=6; printf(\"\\n%d,%d\ 得分 评卷人 四、改错题(10分) 1.指出并修改下面程序中的错误,使其能将输入的两个整数按从小到大的次序输出(不允许增行或减行,也不允许修改程序结构):(5分) main( ) { void swap(int *p1,int *p2) int a,b, *pointer_1, *pointer_2; scanf(\"%c,%c\ pointer_1=a;pointer_2=b; if(a>b) swap(p1,p2); printf(\"\\na=%d,b=%d\\n\ void swap(int *p1,int *p2){ int temp; temp=p1;p1=p2;p2=temp;} 计算机语言程序设计考试试题 2.以下程序完成将输入的一行文字中的大写字母C及小写字母c删除,然后再输出。找出程序中的错误并改正。(5分) #include for(i=j=0;s[i]!='\\0';i++) if(s[i]!='c'||s[i]!='C') s[j++]=s[i]; s[j]='\\0'; putchar(s);} 得分 评卷人 五、编程题(10分) 按行输入一个2行3列的整型二维数组a,将其行列互换,存到另一个二维数组b中,并将数组b按行的形式输出。试编程实现。(10分) 5 / 5 因篇幅问题不能全部显示,请点此查看更多更全内容