1、下面表达式是否合法?如果合法,他执行什么任务?
3* x * x - 4 * x + 6;
合法;他只是执行了表达式求值,但是他的结果并不存于任何地方。
2、赋值语句的语法?
数据类型 变量名 = 表达式; // 表达式可以理解为一个值或一个计算公式
如:y=x+1
3、用下面的方法使用代码块是否合法?如果合法,你想怎么用?
.......... statement { statement statement } statement
合法;如果你需要为所附语句引入临时变量,但希望将对变量的访问限制为仅限于这些语句,那么这将非常有用。
4、当你编写if语句时,如果在then子句中没有语句,但在else字句中有语句,你该如何编写?你还能用其他形式来达到同样效果么?
1 if(表达式) 2 ; 3 else 4 语句;
1 if(表达式)
2 语句;
5、下面循环体将会产生什么样的输出?
1 int i; 2 ..... 3 for(i=0;i<10;i++) 4 printf("%d ",i);
输出结果:0
1
2
3
4
5
6
7
8
9
6、什么时候使用while语句比使用for语句方便?
当循环次数未知的情况下,使用while语句方便
7、下面代码片段用于把标准输入复制到标准输出,并计算字符的检验和(checksum),他有什么错?
1 while ((ch=getchar()!=EOF) 2 checksum +=ch; 3 putchar(ch); 4 printf("Checksum=%d ",checksum);
程序容易进入死循环。
8、什么时候使用do语句比使用while语句更加合适?
要求循环体至少执行一次的情况下。
9、下面代码将会产生什么结果?
1 #include<stdio.h> 2 int main() 3 { 4 int i; 5 for (i=1;i<4;i++) 6 { 7 switch(i%2){ 8 case 0: 9 printf("even "); 10 case1: 11 printf("odd "); 12 } 13 } 14 return 0; 15 }
运行结果:even odd
10、编写一些语句,从标准输入读取一个整型值,然后打印一些空白,空白行的数量由这个值指定。
#include <stdio.h> int main() { int m; printf("Please enter a number:"); scanf("%d",&m); for(int i=0;i<m;i++) { printf(" "); } return 0; }
11、编写一些语句,用于对一些已经读入的值进行检验和报告。如果x小于y,打印单词WRONG。同样,如果a大于或等于b,也打印WRONG。在其他情况下,打印RIGHT。
1 #include <stdio.h> 2 int main() 3 { 4 int x,y,a,b; 5 printf("输入4个整数:"); 6 scanf("%d,%d,%d,%d",&x,&y,&a,&b); 7 8 if ((x<y)||(a>=b)) 9 printf("WRONG "); 10 else 11 printf("RIGHT "); 12 return 0; 13 14 }
12、能被4整除的年份是闰年,但其中能被100整除的却不是闰年,除非它同时能被400整除。编写语句,判断年份是否为闰年,如果是把变量leap_year设为1,否则为0.
1 #include<stdio.h> 2 int main() 3 4 { 5 int year,leap_year; 6 printf("输入一个年份:"); 7 scanf("%d",&year); 8 if(year%4==0) 9 { 10 if(year%100==0&&year%400==0) 11 leap_year=1; 12 else if(year%100==0&&year%400!=0) 13 leap_year=0; 14 } 15 else 16 leap_year=0; 17 printf("leap_year=%d ",leap_year); 18 return 0; 19 }
13、新闻记者都受过训练,善于提问谁?什么?何时?何地?为什么?清编写一些语句,如果变量which_word的值是1,就打印who;为2,就打印what;依次类推。如果变量的值不在1~5之内就打印don‘t know。
1 #include<stdio.h> 2 int main() 3 4 { 5 int i; 6 printf("Please enter a number(1~5):"); 7 scanf("%d",&i); 8 switch(i) 9 { 10 case 1: 11 printf("who "); 12 break; 13 case 2: 14 printf("what "); 15 break; 16 case 3: 17 printf("when "); 18 break; 19 case 4: 20 printf("where "); 21 break; 22 case 5: 23 printf("why "); 24 break; 25 default: 26 printf("don't know "); 27 break; 28 } 29 return 0; 30 }
14、假定一个程序来控制你,而且这个程序包含两个函数:eat_hamberger()用于让你吃汉堡,hunger函数根据你是否饥饿返回真假值。编写一条语句允许你在饥饿感得到满足之前爱吃对少就吃多少汉堡。
while(hungry()) { eat_humberger(); }
15、修改问题14,让你至少吃一次汉堡。
do { eat_humberger(); } while(hungry())
16、编写一些语句,根据变量precipitating和temperture的值打印当前天气的简单总结。
如果precitating为 | 而且tempreture是 | 那就打印 |
true |
<32 >=32 |
snowing raining |
false |
<60 >=60 |
cold warm |
#include<stdio.h> int main() { int pre,tem; printf("precipiting="); scanf("%d",&pre); printf("tempreture="); scanf("%d",&tem); if(pre) { if(tem<32) printf("snowing "); else printf("raining "); } else { if(tem<60) printf("cold "); else printf("warm "); } return 0; }