一、单项选择题(本大题共20小题,每小题 2分,共 40分。在每小题给出的四个备选项中选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
A.从左起输出该字符串,右补空格
B. 按原字符长度从左到右全部输出
C.右对齐输出该字符串,左补空格
D. 输出错误信息
A.一个C程序可由一个或多个函数组成。
B.一个C程序必须包含一个main函数C.
C程序的基本组成单位是函数
D.在C程序中,main函数的位置必须在程序的最开始。
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;
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.实参数组名与形参数组名必须一致
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)
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){…)
如果在主程序中用下面的语句调用上述函数,则输出结果为(printf(“%dn”,f(“goodbey!”)
A. 3
B. 6
C. 8
D. 0
A. a=5;
B. a={2,‘a’,1.2);
C. printf(“%din”,a);
D. n=a.i;
A. p是 int 型变量
B. p是基类型为int 的指针变量
C. q 是基类型为 int 的指针变量
D.程序中可用INTEGER代替 int类型名
A. 0
B. 1
C. 3
D. 6
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 <