C_9练习题答案
一、单项选择题(本大题共20小题,每小题 2分,共 40分。在每小题给出的四个备选项中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
- priatf函数中用到的格式符%5s,其中数字5表示输出的字符串占5列。如果字符串长度大于5,则输出按方式(B)
A.从左起输出该字符串,右补空格
B. 按原字符长度从左到右全部输出
C.右对齐输出该字符串,左补空格
D. 输出错误信息
- 以下叙述不正确的是(D)
A.一个C程序可由一个或多个函数组成。
B.一个C程序必须包含一个main函数C.
C程序的基本组成单位是函数
D.在C程序中,main函数的位置必须在程序的最开始。
- 若有以下语句,则下面(B)是正确的
char x=“12345”;
char y]={‘1’, ‘2’, ‘3’, ‘4’, '5};
A. x.y 完全相同
B. x,y 不相同
C. x数组长度小于数组y长度
D. x,y 字符串长度相等
4.有字符数组a[80]和b[80]、则正确的输出语句是(D)
A. puts(a,b);
B. printf(“%s,%s”,a[],b]);
C. putchar(a,b);
D. puts(a); puts(b);
5.若有说明: int a[][3]={1,2,3,4,5,6,7);则数组的行长度是(B)
A. 2
B. 3
C. 4
D. 无确定值
6·以下能正确地定义整型变量a, b和c并为其赋初值5的语句是(C)
A. int a=b=c=5;
B. int a,b,c=5;
C. int a=5,b=5,c=5;
D. a=c=b=5;
- 下列程序执行后的输出结果是(B)
#include <stdio.b>
void main()
{
inf a[3][3], *p,i;
p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1;
printf(“%d \n”,a[1][2]);
}
A. 3
B. 6
C. 9
D.随机数
8.下面程序段是输出两个字符串中对应相等的字符。请选择填空(A)charx[]=“programiming”;
ehary[]=“Fortran”;
int=0;
while(x[i]!=‘\0’&&y[i]!=‘\0’)
if(x[i]==y[i]printf(“%c”.______);
else i++;
A. x[i++]
B. y[++i]
C. x[i]
D. y[i]
9,若使用一维数组名作函数实参、则以下正确的说法是(C)
A.必须在主调函数中说明次数组的大小
B.实参数组类型与形参数组类型可以不匹配
C.在被调函数中,不需要考虑形参数组的大小
D.实参数组名与形参数组名必须一致
- 根据定义和数据的输入方式,输入语句的正确形式为(B)
已有定义:float f1,f2:
数据的输入方式:4.52
3.5
A. scanf(“%f,%f”,&fl,&f2);
B. scanf(“%f%f”,&fl,&f2);
C.scanf(“%3.2f%2.1f,&f1,&f2);
D. scanf(”%3.2f%2.1f",&fl,&f2);
- 设下面程序段中调用 fun 函数传送实参 a 和 b,
#include <stdio.h>
void main
{
chara [10] ,b [10];
…
fun (a,b);
…
}
则在 fun 函数首部中,对形参错误的定义是(A)
A. fun(char a [10],b [10]){.}
B. fun(char al [] ,char a2 []){…)
C.fun(char p [10] ,charq [10]){…}
D. fun(char *sl,char *s2){…)
- 设有如下函数定义:
C
int f(char *s)
{
char *p=s:
while(*p!=0") p++;
return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为(printf(“%dn”,f(“goodbey!”)
A. 3
B. 6
C. 8
D. 0
- 若有以下定义和语句:
union data
{
int i;
char c;
float f;
}a;
int n;
则以下语句正确的是(D)
A. a=5;
B. a={2,‘a’,1.2);
C. printf(“%din”,a);
D. n=a.i;
- 若有以下说明和定义
Typedef int* INTEGER;
INTEGER p,*q;
以下叙述正确的是(B)
A. p是 int 型变量
B. p是基类型为int 的指针变量
C. q 是基类型为 int 的指针变量
D.程序中可用INTEGER代替 int类型名
- 下面程序的运行结果是(D)
#include <stdio.h>
void main()
struct emp lx int x;
int y;cnum[2]={1,3,2,7}
printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);
}
A. 0
B. 1
C. 3
D. 6
- 以下叙述正确的是(D)
A. do-while 语句构成的循环不能用其它语句构成的循环来代替。
B.do-while语句构成的循环只能用break语句退出。
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D.用do-while语句构成的循环,在while后的表达式为零时结束循环。
17,若有以下调用语句,则不正确的fun函数的首部是(D)
A. void fun(int m, int x)
B. void fun(int s, int h[41])
C. void fun(int p, int *s)
D. void fun(int n, int a)
#include <stdio.h>
void main()
{
…
int a[50],n;
…
fun(n, &a[9]);
…
}
18.下列程序执行后输出的结果是(A)
#include <stdio.h>
#include <string.h>
void main() {
char arr[2][4];
strcpy(arr[0], "you");
strcpy(arr[1], "me");
arr[0][3] = ';';
printf("%s", arr[0]);
}
A. you&me
B. you
C. me
D. е
19.下列程序的运行结果是(B)。
#include <stdio.h>
void fun(int *a, int *b) {
int *k;
k = a;
a <
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!