一份曾经的考卷+答案~~//后面的编程题是以前做过的实验~~《程序设计基础-C》试卷
一、单项选择题1. C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。 A、‘{‘ 和’}' B、‘[‘和’]' C、“/*”和”*/” D、“*/”和”/*”2. 下列运算符中,优先级最低的是_____。 A、* B、!= C、+ D、=3. 若变量已正确定义,表达式 (j=3, j++) 的值是_____ 。A、3 B、 4 C、5 D、04. 已知字符 'a' 的ASCII码为 97 ,执行下列语句的输出是_____。 printf ("%d, %c", 'b', 'b'+1 ) ; A、98, b B、语句不合法 C、98, 99 D、 98, c5. 表达式strcmp(“box”, “boss”) 的值是一个_______。 A、 正数 B、 负数 C、 0 D、 不确定的数6. 数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3]7. 要调用数学函数时,在#include命令行中应包含_____。 A、 ”stdio.h” B、 ”string.h” C、 ”math.h” D、 ”ctype.h”8. 判断i和j至少有一个值为非0的表达式是_____。 A、 i!=0 & j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&j9. 若a是基本整型变量,c是单精度实型变量,输入语句______是错误的。 A、scanf(”%d,%f”, &a, &c); B、scanf(”d=%d, c=%f”, &a, &c); C、scanf(”%d%f”, &a, &c); D、scanf(”%d%f”, a, c);10. 若变量已正确定义并且指针p已经指向某个变量x,则(*p)++相当于_____。 A、p++ B、x++ C、*(p++) D、&x++11. 若p
1、p2都是整型指针,p1已经指向变量x,要使p2也指向x, _____是正确的。 A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1;12. 下列程序段的输出是_____。 int c[]={1, 3, 5}; int *k=c+1; printf("%d", *++k); A、 3 B、 5 C、 4 D、613. 不正确的赋值或赋初值的方式是______。 A、char str[]="string"; B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'};C、char str[10];str="string";D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', '\0'};14. 对于以下结构定义,++p->str中的++加在_____。 struct { int len; char *str; } *p; A、指针str上 B、指针p上 C、str指的内容上 D、以上均不是15. 对于如下说明,语法和语义都正确的赋值是_____。 int c, *s, a[]={1, 3, 5}; A、c=*s; B、 s[0]=a[0]; C、s=&a[1]; D、 c=a;
二、填空题1. 写出下列程序段的输出结果。 float x1, x2; x1=3/2; x2=x1/2; printf("%d, %.1f", (int)x1, x2) ;2. 表达式 (72^2 ) 的值是_______。 3. 写出下列程序段的输出结果。 #define A 10 #define B (A