“C 语言程序设计”平时作业(一)
以下均为单选题:
在 C 语言中,变量所分配的内存空间大小:C
A. 均为一个字节
B. 由用户自己定义
C. 由变量的类型决定
D. 是任意的下列哪些为 C 语言中合法的字符常数:B
A. ‘AB\0’
B. ‘0’
C. “C Language”
D. ‘AB’在循环结构的循环体中执行 break 语句,其作用是:C
A. 结束本次循环,进行下次循环
B. 继续执行 break 语句之后的循环体中各语句
C. 跳出该循环体,提前结束循环
D. 终止程序运行已定义 char x[8]; int i;为了给 x 数组赋值,以下正确的语句是:D
A. x[8]=”Turbo C”;
B. x=”Turbo C”;
C. x[]=”Turbo C”;
D. for(i=0; i<7; i++) x[i]=getchar();设 int a[][4]={0, 0};则以下正确的描述是:A
A. 数组 a 的每个元素都可得到初值 0
B. 二维数组 a 的第一维大小为 2
C. 数组 a 的行数为 4
D. 只有元素 a[0][0]和 a[0][1]可得到初值 0,其余元素得不到初值 0表达式 3/5 的值为:A
A. 0 B. 0.6 C. 0.600000 D. 1下面关于函数的描述中,正确的是:D
A. 每个函数都必须要有 return 语句,返回一个返回值
B. 每个函数中只可能有一个 return 语句
C. 如果一个函数有两个以上的 return 语句,它们必须全部被执行到
D. 如果函数没有返回值,可以不要 return 语句若已定义变量 int x; 以下哪个表达式可以正确判断 x 的取值是在大于等于
2 小于等于 15 之间:D
A. 2≤x≤15
B. 2≤x and x≤15
C. 2≤x && x≤15
D. x>=2 && x<=15若已定义变量 char *p, array[]=”C Language”; 要想使指针 p 指向数组
array, 以下哪个语句是正确的:B
A. p = *array;
B. p = &array[0];
C. p = ”C Language”;
D. array = p;以下正确的描述是:C
A. 在函数外部定义的变量是局部变量
B. 在函数内部定义的变量是全局变量
C. 函数的形参是局部变量
D. 局部变量不能与全局变量同名下面程序的运行结果是:C
int j=1, k=0, m;
m=( ++j) + (k++);
printf (“%d,%d,%d”, ++m, j++, ++k);
A. 2, 2,1 B. 2, 2, 2 C. 3, 2, 2 D. 3, 2, 1下面程序段的运行结果是:C
int a= 2, b=2;
a+=b/=a*=3;
printf (“%d” , a) ;
A. 8.3 B. 6.3 C. 6 D. 8下面程序的运行结果是:A
int flag=1;
void fun( int n)
{ int k ;
for (k=2;k<=n-1 && flag;k++)
if (n % k== 0) flag = 0 ; }
void main ()
{ fun (34);
printf (“%d”, flag); }
A. 0 B. -1 C. 2 D. 1下面程序的运行结果是:D
char name[3][20]={“Tea”, “Jhon”, “May”};
int m=0 ,k;
for (k=1;k<=2;k++)
if(strcmp (name [k],name[m])>0) m=k;
puts (name[m]);
A. Jhon
B. Jhon May
C. May
D. Tea下面程序的运行结果是:D
char str[20]=”This is my book”;
str[4]=’\0’; str[9]=’\0’;
printf (“%d”,strlen (str));
A. 15 B. 5 C. 3 D. 4下面程序段的执行结果:B
int n=0, a, b, c ;
for( a=’a’;a<=’c’;a++)
for( b=’a’;b<=’c’;b++)
for( c=’a’;c<=’c’;c++)
if(a!=b&&b!=c&&c!=a) n++;
printf(“%d”,n);
A. 9 B. B.6 C. C.3 D. D.4下面程序的运行结果是:D
char str1[20]="Program",*ps;
ps=str1; printf ("%s",ps+3);
A. Program
B. P
C. g
D. gram下面程序的运行结果是:A
char c;
c=’0’+7;
putchar(c);
A. 7 B. 07 C. 70 D. $下面的程序段使矩阵 b 成为矩阵 a 的转置:C
int a[3][3], b[3][3], k ,j;
for( k=0;k<=2;k++)
for( j=0;j<=2;j++)
scanf(“%d”,&a[k][j]);
for(k=0;k<=2;k++)
for(j=0;j<=2;j++) ;
A. b[k][j]=a[k][j]
B. a[k][j]=b[k][j]
C. b[j][k]=a[k][j]
D. a[j][k]=b[k][j]以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是:D
A. char s[]=“abcde”;
B. char s[]={’a’, ’b’,’c’,’d’,’e’,’\0’};
C. char s[]={“abcde”};
D. char s[5]= “abcde”;