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 这里是这个程序 ...
随机推荐
- IOCP三层结构
iocp三层架构服务器模型 分类: GameEngine专题之IOCP(完成端口)2010-04-06 14:44 2611人阅读 评论(0) 收藏 举报 服务器socket工作测试应用服务器性能优化 ...
- 【SpringBoot】11-1.Springboot整合Springmvc+Mybatis增删改查操作(下)
整合过程:https://www.isdxh.com/68.html 一.增--增加用户 1.创建实体类 package com.dxh.pojo; public class Users { priv ...
- 微信支付特约商户进件中base64格式图片上传
微信图片上传接口地址:https://api.mch.weixin.qq.com/v3/merchant/media/upload 1.上传方法 1 using HttpHandlerDemo; 2 ...
- Python之Matplot——01.堆叠柱状图的绘制
1.Matplotlib是python的一个绘图库,可以方便的绘制各种图标,是数据可视化的利器. 2.本文我就给大家介绍一下条形图或者说柱状图的绘制 3.代码如下: <1>首先导入模块 1 ...
- Vue+nodejs+npm完美结合入门==vue入门
因为我的是win7系统 64位 只能下载低版本的nodjs: 传送门:https://nodejs.org/dist/v9.7.1/ 一.使用之前,我们先来掌握3个东西是用来干什么的. npm: No ...
- Effective Modern C++ ——条款6 当auto型别不符合要求时,使用带显式型别的初始化物习惯用法
类的代理对象 其实这部分内容主要是说明了在STL或者某些其他代码的容器中,在一些代理类的作用下使得最后的返回值并不是想要的结果. 而他的返回值则是类中的一个容器,看下面的一段代码: std::vect ...
- 变强——GitHub 热点速览 Vol.46
作者:HelloGitHub-小鱼干 网络不通怎么办?Ping 就是你的调试大招,而 gping 则是 Ping 的内功,终端可视化显示 Ping 结果,一眼看明数据接收情况.前端调试大招又是什么呢? ...
- 一看就懂的MySQL的FreeList机制
Hi,大家好!我是白日梦! 今天我要跟你分享的MySQL话题是:"了解InnoDB的FreeList吗?谈谈看!" 本文是MySQL专题的第 7 篇,共110篇. 一.回顾 前面几 ...
- 华为+京东数科(原京东金融)面经--Java后台开发
华为: 1.笔试中遇到的问题,如何解决的?(Scanner 如何结束循环读取数据,笔者在面试中因没有理解到Scanner类的hasNext()与hasNextLine()是阻塞方法,导致没有正确退出循 ...
- python 迭代器(转)
迭代器 迭代器是在python2.2中被加入的,它为类序列对象提供了一个类序列的接口.有了迭代器可以迭代一个不是序列的对象,因为他表现出了序列的行为.当在python中使用for循环迭代一个对象时,调 ...