一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选须中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
A.常量
B.变量
C.运算符
D. 函数
A. Case
B. Li-da-yong
C. 3con
D. Sa
3.以下描述不正确的是?
A.宏名无类型
B. 宏替换不占用运行时间
C.宏名必须用大写字母表示
D.宏替换只悬孚符替换
4.以下正确的字符常量是(B)
A. 412
B. 255
C. 108"
D.‘’
A.若int a=3, b=2,c=1; f=a>b>c;则f值为真
B.若intm=0, n=l,a=1.b=2,c=3;(m=a>b)&&(n=c>4),则n值为真
C.若inta=2,b=3,c=1;c=a/b;则c的值为真
D.若inta=2,b=3;表达式a>b?a:0的值为真
6·定义doubie i=3.5.j=5.5;则表达式(int)i+j的值是(B)。
A. 9.0
B. 8.5
C.8
D. 8.0
7,若intx=6:则x+=x-x*=x; x的值为(A)
A.0
B. -60
C. 60
D. -24
8.已有定义"intx=3,y=4,z=S;“,则表达式”!(x+y)+z-1 &&y+z/2"的值是(D)
A. 6
B.0
C. 2
D. 1
A. e=0
B. e! =0
C. e=
D. e! =1
10,使用"scanf (“X=%fy=%f”, &x. &y) ",要使X, y均为1.25,正确的输入是?
A. 1.25, 1.25
B. 1.25 1.25
C. X=1.25,y=1.25
D. x=1.25,y=1.25
11.设变量已正确定义,以下( )与其它switch语句不等价。
D
A
#include <stdio.h>
int main() {
int op, value1, value2;
// Assume that you have variables value1 and value2 defined somewhere
switch (op) {
case '+':
printf("%d\n", value1 + value2);
break;
case '-':
printf("%d\n", value1 - value2);
break;
case '*':
printf("%d\n", value1 * value2);
break;
default:
printf("Error\n");
break;
}
return 0;
}
B
#include <stdio.h>
int main() {
int op, value1, value2;
// Assume that you have variables value1 and value2 defined somewhere
switch (op) {
default:
printf("Error\n");
break;
case '*':
printf("%d\n", value1 * value2);
break;
case '-':
printf("%d\n", value1 - value2);
break;
case '+':
printf("%d\n", value1 + value2);
break;
}
return 0;
}
C
#include <stdio.h>
int main() {
int op, value1, value2;
// Assume that you have variables value1 and value2 defined somewhere
if (op != '+' && op != '-' && op != '*') {
printf("Error\n");
} else {
switch (op) {
case '+':
printf("%d\n", value1 + value2);
break;
case '-':
printf("%d\n", value1 - value2);
break;
case '*':
printf("%d\n", value1 * value2);
break;
}
}
return 0;
}
D
#include <stdio.h>
int main() {
int op, value1, value2;
// Assume that you have variables value1 and value2 defined somewhere
switch (op) {
case '+':
printf("%d\n", value1 + value2);
break;
case '-':
printf("%d\n", value1 - value2);
break;
case '*':
printf("%d\n", value1 * value2);
break;
}
return 0;
}
12,若变量已正确定义,对以下while循环结束条件的准确描述是(A)。
#include <stdio.h>
#include <math.h>
int main() {
int flag = 1;
int denominator = 1;
double item = 1.0;
double pi = 0;
while (fabs(item) > 0.0001) {
item = flag * 1.0 / denominator;
pi = pi + item;
flag = -flag;
denominator = denominator + 2;
}
return 0;
}
A. item的绝对值不大于 0.0001
B. item的绝对值不小于0.0001
C. item的绝对值等于0.0001
D.item的绝对值不等于0.0001
13,若有定义, int a[10];,则对数组a元素的正确引用是(D)
A. a[10]
B. a[3.5]
C. a(5)
D. a[10-10]
A. struct 是结构体类型的关键字
B. struct date是用户定义的结构体类型名
C. year、 month、day都是结构体成员名
D. bitthday是用户定义的结构体类型名
15,有两个字符数组a,b,则以下正确的输入语句是(B)
A. gets(a,b);
B. scanf(“%s%s”,a,b);
C. scanf(“%s%s”,&a,&b);
D. gets(“a”).gets(“b”);
A.实参和形参各占一个独立的存储单元
B.实参和形参共用一个存储单元
C可以由用户指定是否共用储存单元
D.由家统自动指定是否共用存储单元
17,关于语言中的函数,下列说法错误的是(A)。
A+在不同的函数中不可以使用相同名称的变量。
B.函数中的形式参数是在栈中保存的。
C.在一个函数内定义的变量只在本函数范围内有效。
D.在一个函数内的复合语句中定义的变量在本复合语句范围内有效。
A. p
B. x++
C. *(p+)
D. &x++
19.定义下列结构体数组:
#include <stdio.h>
struct st {
char name[15];
int age;
} a[10] = {
{
"ZHAO", 14},
{
"WANG", 15},
{
"LIU", 16},
{
"ZHANG", 17}