一、单项选择题《本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
A. 任意函数开始
B. 程序中的第一个函数开始
c.程序的第一条可执行语句开始
D. main函数开始
2,若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf(“**ln”);下面关于语句执行情况的叙述中正确的是()
A. 循环体执行两次
B. 循环体执行一次
C. 循环体一次也不执行
D. 构成无限循环
A. C 语言的可执行程序是由一系列机器指令构成的
B. 用 C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件
4,以下选项中可用作C程序合法实数的是()
A. .le0
B. 3.0e0.2
C.E9
D. 9.12E
#include
void main() {
int x = 10, y = 5;
if (!x) {
y++;
} else if (x == 0) {
if (x) {
y += 2;
} else {
y += 3;
}
}
printf("%d\n", y);
}
程序运行后的输出结果是()。
A.8
B.7
C 6
D5
6.有以下程序
#include
void main() {
char b, c;
int i;
b = 'a';
c = 'A';
for (i = 0; i < 6; i++) {
if (i % 2)
putchar(b);
else
putchar(c);
}
printf("\n");
}
程序运行后的输出结果是()
A. ABCDEF
B. AbCdEf
C. aBcDeF
D. abcdef
7.有以下程序
#include
void fun(char *c) {
while (*c) {
if (*c >= 'a' && *c <= 'z') {
*c = *c - ('a' - 'A');
}
c++;
}
}
int main() {
char s[81];
gets(s);
fun(s);
puts(s);
return 0;
}
当执行程序时从键盘上输入Hello Hebei<回车>,则程序的输出结果是()
A. hello hebei
B. Hello Hebei
C. HELLO HEBEI
D. hELLO Hebei
8.若变量a 是 int类型,并执行了语句a=‘A’+1.6;,则正确的叙述是()
A. a 的值是字符 C
B. a 的值是浮点型
C.不允许字符型和浮点型相加
D. a的值是字符A’的ASCI值加上1
9,定义int x=10,y-20,z;执行y=z-x;x=y!=z后,变量x的值为()
A. 1
B. 10
C. 0
D. 20
10,若有变量定义double x;float a;要给x和a输入数据,正确的输入语句是
A. scanf(“%d%d”,&x,&a);
B. scanf(“%1%if,&x,&a);
C.scanf(”%f%f",&x,&a);
D. scanf(“%1%f”,&x,&a);
11.若有定义: inta=1,b=2,c=3,d-4,m=2,n=2; ,则执行(m-a>b)&&(n=e>d)后, n的值为()。
A. 1
B. 2
C. 3
D. 4
12.若 char str[10]= “I am happy”,则*(a+3)的值为()
A. T
B. ‘a’
C. ‘ ’
D. ‘m’
13,设x, y和z是int型变量,且x=3, y=10", z-5,则下面表达式中值为0的是()。
A. ‘x’&&y
B. x>=y
C. xlly+z && y-z
D. (x
#include
void fun(char *c) {
while (*c) {
if (*c >= 'a' && *c <= 'z') {
*c = *c - ('a' - 'A');
}
c++;
}
}
int main() {
char s[81];
gets(s); // Note: gets is deprecated, consider using fgets instead
fun(s);
puts(s);
return 0;
}
Amax=3
B. max=5
C. ma=8
D. max=9
A. 1
B. 2
C.3
D. 4
16.语句pntf%s", “sbiOjtaOzhuang”);执行后的输出结果为()
A. shi
B. jia
C. shi jia zhuang
D. zhuang
17.程序段如下,则以下说法中正确的是(int i=5;while(i=0) i++;
A. while 循环执行 5次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次
A. int
B. float
C. double
D. void
19,有如下程序段int a=10 ,*p=&a,b=1 ; a=*p+b++;执行该程序段后,a 的值为()
A. 12
B. 11
C. 10
D. 编译出错
程序运行后的输出结果是()
A. 1,2
B. 4,1
C. 3,4
D. 2,3
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结果填写在答题纸的相应位置上。)
#include
void fun(char *x, char *y) {
char t;
t = *x;
*x = *y;
*y = t;
}
int main() {
char p[] = "abc";
char q[] = "123";
fun(p, q);
printf("%s, %s\n", p, q);
return 0;
}
#include
int func(int x, int y);
void main() {
int a = 1, b = 2, c = 3, d = 4, e = 5;
printf("%d\n", func((a + e, b + d, c - a), (b * e)));
}
int func(int x, int y) {
return (x + y);
}
#include
void main() {
unsigned x = 23;
int p = 20, d = 2, n = 5;
printf("%u", (x >> (p + d - n)) & ~(~0U << n));
}
#include
void main() {
int x = 2, a = 1, b = 0;
switch (x) {
case 1:
a++;
b++;
break;
case 2:
a++;
b--;
break;
case 3:
a--;
b++;
break;
}
printf("a=%d, b=%d\n", a, b);
}