1、表示关系 x≤y≤z 的 c 语言表达式为
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<=Y)&(Y<=Z)
2、以下程序的输出结果是int a=12,b=12;
printf(“%d %d\n”,–a,++b);
A.10 10
B.12 12
C.11 10
D.11 13
3、以下的 for 循环
for(x=0,y=0; (y!=123)&&(x<4); x + + );
A.是无限循环
B.循环次数不定
C.执行 4 次
D.执行 3 次
4、有以下程序
char a[]=“programming”,b[]=“language”;
char p1,p2; int i; p1=a;p2=b; for(i=0;i<7;i++)
if((p1+i)==(p2+i)) printf(“%c”,*(p1+i));
输出结果是
A.gm
B.rg
C.or
D.ga
5、以下说法中正确的是
A.#define 和 printf 都是 C 语句
B.#define 是 C 语句,printf 不是
C. printf 是 C 语句,#define 不是
D. #define 和 printf 都不是 C 语句
6、下面的程序int x=3; do
{
printf(“%d\n”,X-=2);
} while(!(–x));
A.输出的是 1
B.输出的是 1 和-2
C.输出的是 3 和 0
D.是死循环
7、下面能正确进行字符串赋值操作的语句是
A.char s[5]={“ABCDE”};
B.char s[5]={‘A’、‘B’、‘C’、‘D’、‘E’};
C.char *s;s=“ABCDEF”;
D.char *s; scanf(“%s”,s);
8、以下程序的输出结果是
int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2)printf("%d ",p[i]);
A.5 2
B.5 1
C.5 3
D.9 7
9、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为
A. a<>0
B.!a
C.a=0
D.a
10、下述对 C 语言字符数组的描述中错误的是
A.字符数组可以存放字符串
B. 字符数组中的字符串可以整体输入、输出
C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
11、若 fp 是指向某文件的指针,且已读到该文件的末尾,则 C 语言函数 feof(fp)的返回值是
A.EOF
B.-1
C.非零值
D.NULL
12、设 p1 和 p2 是指向同一个 int 型一维数组的指针变量,k 为 int 型变量,则不能正确执行的语句是
A.k=*p1+*p2;
B.p2=k;
C.p1=p2;
D.k=*p1 *(*p2);
13、下面程序的输出是
int a=-1, b=4,k; k=(a++<=0)&&(!(b–<=0));
printf(“%d %d %d\n”,k,a,b);
A.0 0 3
B.0 1 2
C.1 0 3
D.1 1 2
14、若 x 是整型变量,pb 是基类型为整型的指针变量,则正确的赋值表达式是
A.pb=&x
B.pb=x;
C.*pb=&x;
D.*pb=*x
15、设有 static char str[ ]=“Beijing”;
则执行语句 printf(“%d\n”, strlen(strcpy(str,“China”)))后的输出结果为
A.5
B.7
C.12
D.14
16、以下程序的输出结果是int x=10,y=10,I; for(i=0;x>8;y=++i)
printf("%d,%d ",x–,y);
A.10 1 9 2
B.9 8 7 6
C.10 9 9 0
D.10 10 9 1
17、设有如下函数定义: int f(char *s)
{
char *p=s; while(*p!=‘\0’) p++; return(p-s);
}
如果在主程序中用下面的语句调用上述函数,则输出结果为
printf(“%d\n”,f(“goodbey!”));
A.3
B.6
C.8
D.0
18、若执行下面的程序时从键盘上输入 3 和 4,则输出是int main()
{
int a,b,s;
scanf(“%d %d”,&a,&b); s=a;
if(a }
A.14
B.16
C.18
D.20
19、下面四个选项中,均是 C 语言关键字的是:
A.auto enum include
B.swith typedef continue
C.signed union scanf
D.if struct type
20、有以下程序
viod fun (int a,int b,int c)
{a=456;b=567;c=678;}
int main()
{
int x=10,y=20,z=30; fun (x,y,z);
printf(“%d,%d.%d”,x,y,z); return 0;
}
输出结果是
A.30,20,10
B.10,20,30
C.456,567,678
D.678,567,456
1、在 C 中,外部变量的隐含类别是自动存储类别。
2、实参和与其对应的形参共占用一个存储单元。
3、在不得已的情况下(例如提高程序运行效率),才使用 goto 语句。
4、条件表达式可以取代 if 语句,或者用 if 语句取代条件表达式。
5、函数中的静态变量在函数每次调用时,都会重新设置初值。
6、全局变量都是静态存储。
7、如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明。
要求:读程序,填出表格中的数据。
1 、(10 空)
char fun(char ch){
if(ch= ='Z')
ch= 'A';
else if(ch>='A'&& ch<='Y')
ch=ch+1;
return ch;
}
输入 ch | a | A | b | B | D | @ | 3 | Y | Z |
---|---|---|---|---|---|---|---|---|---|
返回 ch |
2、(15 空)
void sstrcpy(char *s,char *t){
while(*s!=’\0’){
*s= *t;s
++; t++;
}
*s=0;
}
int main( ){
char str1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
return 0;
}
下标 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
*t | a | ||||||||
str1[] | 0 |
3、(13 空)
从键盘上输入 1298
int n1,n2; scanf("%d",&n2);
while(n2!=0)//(1){
n1=n2%10; //(2)
n2=n2/10; //(3)
printf("%d",n1);
}
(1)n2 | 1298 | ||||
---|---|---|---|---|---|
(2)n1 | / | ||||
(3)n2 | / | ||||
程序输出 |
编程题要求:
(1) 先给出伪代码,然后再写出源码,重要变量和语句要加注释;
(2) 若有子函数,则要给出函数框架设计(函数名、形参、返回类型)。
1、打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个“水仙花数”,因为 153=1 的三次方+5 的三次方+3 的三次方。
2、编写函数 fun,函数的功能是:在字符串中所有数字字符前加一个$字符。例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。