C和指针课后练习题4
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\n",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\n",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\n");
10 case1:
11 printf("odd\n");
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("\n");
}
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\n");
10 else
11 printf("RIGHT\n");
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\n",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\n");
12 break;
13 case 2:
14 printf("what\n");
15 break;
16 case 3:
17 printf("when\n");
18 break;
19 case 4:
20 printf("where\n");
21 break;
22 case 5:
23 printf("why\n");
24 break;
25 default:
26 printf("don't know\n");
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\n");
else
printf("raining\n");
}
else
{
if(tem<60)
printf("cold\n");
else
printf("warm\n");
} return 0;
}
C和指针课后练习题4的更多相关文章
- C和指针课后练习题3
1.在你的机器上,字符的范围有多大?有那些不同的整数类型以及他们的范围? C语言中数据输入输出格式: %d 有符号10进制整数%i 有符号10进制整数%o 无符号8进制整数%u 无符号10进制整数%x ...
- 数据结构课后练习题(练习一)1007 Maximum Subsequence Sum (25 分)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to ...
- 《Java JDK7 学习笔记》课后练习题1
1.()组织负责监督审查Java相关技术规格的演进. A. JCP B. Apache C. EU D. W3C 2.Java技术规格必须以()正式文件提交审查. A. RFC B. JSR C. I ...
- 《Java JDK7 学习笔记》课后练习题2
1.如果在hello.java中撰写以下的程序代码: public class Hello { public static dmain(String[]args) { Sys ...
- 《java JDK7 学习笔记》课后练习题3
1.如果有以下的程序代码:int number;System.out.println(number);以下描述何者正确?A.执行时显示0B.执行时显示随机数字C.执行时出现错误D.编译失败 2.如果有 ...
- 小甲鱼第51讲:《__name__="__main__"、搜索路径和包》课后练习题
测试题: 0. __name__属性指的是在调用该模块的时候调用的函数名称,方便在模块的被调用的时候,模块内部被调用的函数不会被运行. 1. 当模块作为主程序运行的时候,__name__属性的值是“_ ...
- C和指针课后问答题答案翻译
第11章 动态内存分配 1.在你的系统中,你能够声明的静态数组最大长度能达到多少?使用动态内存分配,你最大能够获取的内存块有多大? 英文答案原文: This will vary from system ...
- 数据结构课后练习题(练习三)7-5 Tree Traversals Again (25 分)
7-5 Tree Traversals Again (25 分) An inorder binary tree traversal can be implemented in a non-recu ...
- Day01_课后练习题
1.(将摄氏温度转化华氏温度)编写一个从控制台读取摄氏温度并将他转变为华氏温度并予以显示的程序.转换公式如下. Fahrenheit = (9 / 5) * celsius + 32 这里是这个程序 ...
随机推荐
- 如何快速在windows上创建你的第一个odoo项目
一.什么是Odoo Odoo 是一系列开源商业应用程序套装(ERP企业管理系统),此套装可满足贵公司的一切应用需求,例如,企业基本的进销存.采购.销售.MRP生产制造.品保质量保障.企业招聘.员工合同 ...
- [Luogu P2014]选课 (树形DP)
题面 传送门:https://www.luogu.org/problemnew/show/P2014 Solution 这是一道十分经典的树形DP题,这种类型的树形DP有一种很普遍的解法. 首先,观察 ...
- linux下的终端利器----tmux
转:tmux 是指通过一个终端登录远程主机并运行后,在其中可以开启多个控制台的终端复用软件.类似GNU Screen,但来自于OpenBSD,采用BSD授权.使用它最直观的好处就是,通过一个终端登录远 ...
- map,filter
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [i for i in range(0,5)]) print(list(newlis ...
- Pandas_工资集处理
import numpy as np import pandas as pd from pandas import Series,DataFrame # 1--读取数据文件 file_obj=open ...
- python_计算器
import re from functools import reduce # 定义一个只计算两个数的乘法或除法的函数: def multiply_division(exp): if "* ...
- ImpalaTest
package com.niewj.demo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.R ...
- [MIT6.006] 23. Computational Complexity 计算复杂度
这节课主要讲的计算复杂度,一般有三种表达不同程度的计算复杂度,如下图所示: P:多项式时间: EXP:指数时间: R:有限时间内. 上图还给了一些问题的计算复杂度的对应结果,关于一些细节例如NP, N ...
- TypeError: react__WEBPACK_IMPORTED_MODULE_2___default.a.createClass is not a function
在看阮一峰的react入门的时候,写到一段代码,但是写完就报错了,经过多方查找,终于解决掉了 错误描述: 解决方法: 将React.createClass换成React.Component, 但是不知 ...
- docker生产——容器通信
简介 在接触docker的第一天起,大家应该就知道:docker容器使用沙箱机制,相互之间没有接口,一般情况下内部访问通过IP+端口.本地容器默认分配的IP极易发生变化,所以靠IP+端口访问的方式缺失 ...