计算机语言程序设计试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机语言程序设计试题
一、填空题(每空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;}