C_15练习题答案
一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选须中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
- C程序是由(D)构成的。
A.常量
B.变量
C.运算符
D. 函数
- 下列合法的标识符是(A)
A. Case
B. Li-da-yong
C. 3con
D. Sa
3.以下描述不正确的是?
A.宏名无类型
B. 宏替换不占用运行时间
C.宏名必须用大写字母表示
D.宏替换只悬孚符替换
4.以下正确的字符常量是(B)
A. 412
B. 255
C. 108"
D.‘’
- 下面叙述中正确的是(B)
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
- 对于循环while(le)语句,le 等价于(A)
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]
- 若有以下说明语句:
struct date{int year,month,day;}birthday;则下面叙述不正确的是(D)。
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”);
- C语言程序中,当调用函数时(A)
A.实参和形参各占一个独立的存储单元
B.实参和形参共用一个存储单元
C可以由用户指定是否共用储存单元
D.由家统自动指定是否共用存储单元
17,关于语言中的函数,下列说法错误的是(A)。
A+在不同的函数中不可以使用相同名称的变量。
B.函数中的形式参数是在栈中保存的。
C.在一个函数内定义的变量只在本函数范围内有效。
D.在一个函数内的复合语句中定义的变量在本复合语句范围内有效。
- 若变量已正确定义并且指针p已经指向某个变量x,则(*p)+相当于(B)
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}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!