华师17秋《高级语言程序设计》在线作业
华师《高级语言程序设计》在线作业一、单选题:【10道,总分:30分】
1.下列程序main( ){int x,y,z; x=y=2;z=3;y=z++-1; printf(“%d\t%d\t”,x,y); y=++x-1;printf(“%d \t%d\n”,x,y); y=z---1; printf(“%d\t%d\t”,z,y); y=--z-1; printf(“%d\t%d\n”,z,y);}运行后输出的数据为( )。 (满分:3)
A. 3 1 4 2 2 4 1 3
B. 3 1 3 32 4 2 2
C. 2 2 3 23 3 2 1
D. 2 1 3 21 3 1 2
2.下列程序#includemain( ){char a;int i,j;printf(“Enter the string:”);scanf(“%s”,a);i=0;while(a!=’\0’){ if(a>=’A’&&a<=’Z’)a=a-‘A’+’a’; }printf(“%s”,a);}运行后输出的结果是( ) (满分:3)
A. 把键盘输入的字符串中的大写字母变换成小写字母,然后显示变换后的字符串。
B. 把键盘输入的字符串中的数字字符删除掉,然后显示该字符串。
C. 把键盘输入的字符串中的小写字母变换成大写字母,然后显示变换后的字符串。
D. 把键盘输入的字符串原封不动地显示在屏幕上。
3.有如下程序int func(int a,int b){return (a+b);}main( ){intx=2,y=5,z=8,r; r=func(func(x,y),z);printf("%d\n",r); }该程序的输出结果是 ( ) (满分:3)
A. 12
B. 13
C. 14
D. 15
4.下列程序int c=1; main( ){static int a=5;int b=6;printf(“a=%d b=%d c=%d\n”,a,b,c);func( );printf(“a=%d,b=%d,c=%d\n”,a,b,c);func( );}func( ){ static int a=4;int b=10;a+=2;c+=10;b+=c;printf((“a=%d,b=%d,c=%d\n”,a,b,c);}运行后输出的数据为( ) (满分:3)
A. a=5 b=6 c=1 a=6 b=21 c=11 a=5 b=6 c=11 a=8 b=31 c=21
B. a=5 b=6 c=1a=7 b=17 c=11a=5 b=6 c=11a=9 b=17 c=21
C. a=5 b=6 c=1 a=6 b=21 c=11 a=6 b=21 c=11
5.设有int x=11;则表达式(x++*l/3)的值为( ) (满分:3)
A. 3
B. 4
C. 11
D. 12
6.有以下程序:main( ){ inti=10,j=1;printf(“%d,%d\n”,i--,++j);}执行后输出的结果是( ) (满分:3)
A. 9,2
B. 10,2
C. 9,1
D. 10,1
7.下列程序int sum(int n){ int p=1,s=0,i;for(i=1;i<=n;i++)s+=(p*=i);return s;}main( ){ printf(“sum(5)=%d\n”,sum(5));}运行后输出的数据为( ) (满分:3)
A. sum(5)=151
B. sum(5)=152
C. sum(5)=153
D. sum(5)=155
8.设有以下语句,则( )不是对a数组元素的正确引用,其中0<=i<10,int a={0,1,2,3,4,5,6,7,8,9};int *p=a; (满分:3)
A. a
B. *(&a)
C. a
D. *(a+i)
9.有以下程序main( ){ int i; for(i=0;i<3;i++) switch(i) { case 1:printf(“%d”,i); case2: printf(“%d”,i); default: printf(“%d”,i); }} 执行后输出的结果是( ) (满分:3)
A. 011122
B. 012
C. 012020
D. 120
10.‘A’ + 3 的结果是( ) (满分:3)
A. ’A’
B. ’D’的ASCⅡ码
C. 65
D. 3
二、多选题:【10道,总分:40分】
1.以下叙述正确的是( ) (满分:4)
A. C语言严格区分大小写英文字母
B. C语言用";"作为语句分隔符
C. C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上.
D. 可以使用/*…*/对C程序中的任何部分作注释
2.以下选项中,合法的字符常量是( ) (满分:4)
A. '\t'
B. '\17'
C. "n"
D. '\xaa'
3.以下用户标识符,其中合法的是( ) (满分:4)
A. return
B. f2G3
C. A3-3
D. abc
4.以下合法的十六进制数是( ) (满分:4)
A. oxff
B. 0Xabc
C. 0x01
D. 0X9X
5.以下对switch语句和break语句中描述错误的有( ) (满分:4)
A. 在switch语句中必须使用break语句
B. break语句只能用于switch语句
C. 在switch语句中,可以根据需要使用或不使用break语句
D. break语句是switch语句的一部分
6.下列属于基本数据类型的是( ) (满分:4)
A. int
B. float
C. double
D. struct
E. char
7.设有语句float ave(int a);float f;int w;则正确的函数调用形式是( ) (满分:4)
A. f=ave(w[ ]);
B. f=ave(w);
C. f=ave(w);
D. printf("%f",ave(w));
E. printf("%d",ave(w));
8.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是( ) (满分:4)
A. a=b=c=d=100;
B. d++;
C. c+b;
D. d=(c=22)-(b++);
9.在下列选项中,构成死循环的程序段是( ) (满分:4)
A. int i=100; while(1) { i=i%100+1; if(i>100)break;}
B. for(;;)
C. int k=1000; do { ++k;}while(k>=10000);
D. int s=36; while(s);--s;
E. for(i=1;;i++);
10.以下关于typedef的叙述正确的是( ) (满分:4)
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新类型
C. 用typedef只是将已存在的类型用一个新的名字来代表
D. 使用typedef便于程序的通用
三、判断题:【10道,总分:30分】
1.在C语言中,所谓指针型数据,即指该数据是一个地址 (满分:3)
A. 错误
B. 正确
2.C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的 (满分:3)
A. 错误
B. 正确
3.一个指针变量加1表示将该指针变量的原值(地址)加1 (满分:3)
A. 错误
B. 正确
4.字符处理函数strcpy(str1,str2)的功能是把字符串1接到字符串2的后面 (满分:3)
A. 错误
B. 正确
5.C语言中只能逐个引用数组元素而不能一次引用整个数组 (满分:3)
A. 错误
B. 正确
6.带参main函数中的形参的值可以在程序中得到 (满分:3)
A. 错误
B. 正确
7.typedef可以定义生成新的数据类型 (满分:3)
A. 错误
B. 正确
8.参加位运算的数据可以是任何类型的数据 (满分:3)
A. 错误
B. 正确
9.int i=20;switch(i/10){case 2:printf("A");case 1:printf("B");}的输出结果为A。 (满分:3)
A. 错误
B. 正确
10.假设有int a,*p;则p=&a与p=a等价 (满分:3)
A. 错误
B. 正确
页:
[1]