您的当前位置:首页正文

计算机语言程序设计考试试题

2020-01-16 来源:爱go旅游网
计算机语言程序设计考试试题

计算机语言程序设计试题

题号 分值 分数 一 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 #define HELLO ”lin”

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 main()

{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 int x=1,y=2; main( ) { y=y+x;

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 main {char s{80}; int i,j; getchar(s);

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

因篇幅问题不能全部显示,请点此查看更多更全内容