搜档网
当前位置:搜档网 › 计算机语言程序设计试题

计算机语言程序设计试题

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

计算机语言程序设计试题

一、填空题(每空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】。

15】值。

二、单项选择题(每小题2分,共30分)

1.C程序的基本单位是()

A.语句B.字符C.程序行D.函数

2.TURBO C中float类型变量所占字节数是()

A.8 B.4 C.2 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; num=10; p=# num=*p+20;

A.30 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 B.无输出内容C.陷入死循环D.输出1 0

14.下面程序运行的结果是()。

#include

#define HELLO ”lin”

void main( ){printf(“HELLO”);printf(HELLO);}

A.HELLOHELLO B.HELLO C.HELLOlin D.linHELLO 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="ST ART\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",x,y);

sub1(x,y);

printf("\n%d,%d",x++,y);}

sub1(int a,int b)

{int y=4;

x=++b;

printf("\n%d,%d",x,y);

x=a++;

sub2( );

printf("\n%d,%d",x,y);}

sub2( )

{int y=6;

printf("\n%d,%d",x,y);}

四、改错题(10分)

1.指出并修改下面程序中的错误,使其能将输入的两个整数按从小到大的次序输出(不允许增行或减行,也不允许修改程序结构):(5分)

main( )

{ void swap(int *p1,int *p2)

int a,b, *pointer_1, *pointer_2;

scanf("%c,%c",&a,&b);

pointer_1=a;pointer_2=b;

if(a>b) swap(p1,p2);

printf("\na=%d,b=%d\n",a,b);}

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分)

相关主题