C语言程序设计(翁恺)--第三周课件中的三个遗留点
刚刚写完第二周遗留点,下面写第三周的
第三周:判断
1.if和else后面也可以没有{}而是一条语句。如果if后不带{},但是后面跟了两条语句,并且后面还有else语句,那么程序会怎么执行?
在Dev C++中输入如下代码,进行编译
#include "stdio.h"
int main()
{
int a=;
scanf("%d",&a);
if(a>)
a+=;
printf("a=%d",a);
else
print("a=%d",a);
return ;
}
发现如下问题:
提示“9 2 [Error] 'else' without a previous 'if'”
意思是else找不到对应的if了,说明if后面的第二个语句printf使得编译器认为这个if已经结束,它是一个不带else的if语句,所以后面直接输入else会使编译器报错。
2./* */是注释,编译器不管其中的内容。但是有没有想过编译器会把它替换成什么呢?是一个空格?还是不留痕迹?可以写代码来测试你用的编译器吗?
在Dev C++中输入如下代码,进行编译
#include "stdio.h"
int main()
{
int/*sdfd*/b; //编译通过
in/*sdff*/t a; //编译出错,提示[Error] unknown type name 'in'和[Error] expected '=', ',', ';',
//'asm' or '__attribute__' before 'a'
return ;
}
发现第一条语句编译通过了,而第二条语句编译出错了,提示“[Error] unknown type name 'in'和[Error] expected '=', ',', ';','asm' or '__attribute__' before 'a'”,由这两个结果判断,/**/在编译的时候被编译器替换成了空格
3.分段函数可以用switch-case吗?划算吗?
考虑到x=0和x>0是同一个函数f(x)=2*x;那么可以将type分成0/1两种情况来使用switch-case语句,感觉不划算,而且如果分段增加的话就不一定能通过这个方法实现了
代码如下:
#include "stdio.h"
int main()
{
int type;
double x,f;
scanf("%lf",&x);
type=(x<);
switch(type)
{
case :
f=*x;
break;
default:
f=-;
break;
}
printf("%f",f);
return ;
}
C语言程序设计(翁恺)--第三周课件中的三个遗留点的更多相关文章
- C语言程序设计(翁恺)--第二周课件中的两个遗留点
看完课件,发现其中有几个点是老师上课没点破的,或者是留到讨论区的,自己想了想答案,总结一下这些问题 第二周:计算 1.关于const的描述中提到:“如果试图对常量做修改,把它放在赋值运算符的左边,就会 ...
- 《程序设计入门——C语言》翁恺老师 第二周编程练习记录
1 逆序的三位数(5分) 题目内容: 逆序的三位数: 程序每次读入一个正三位数,然后输出逆序的数字.注意,当输入的数字含有结尾的0时,输出不应带有前导的0.比如输入700,输出应该是7. 提示:用%1 ...
- 《程序设计入门——C语言》翁恺老师 第一周编程练习记录
1 输出“Hello World”(5分) 题目内容: 请输出一行,内容为 Hello World 请注意大小写. 由于这一周只是简单地介绍了C程序的基本框架,还不能做很多事情,甚至还不能做数据的输入 ...
- “Hello World!”团队第三周召开的第三次会议
今天是我们团队“Hello World!”团队第三周召开的第三次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.todo list 六.会议照片 七.燃尽图 八.代码地址 ...
- 《程序设计入门——C语言》翁恺老师 第三周编程练习记录
1 时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8.现在,你的程序要读入一个整数,表示BJT的时和分.整数的个位和十位表示分,百位和千位表示小时.如果 ...
- 程序设计入门-C语言基础知识-翁恺-第七周:指针与字符串-详细笔记(七)
目录 第七周:指针与字符串 7.1 指针初步 7.2 字符类型 7.3 字符串 7.3 课后练习 第七周:指针与字符串 7.1 指针初步 sizeof 是一个运算符,给出某个类型或变量在内存中所占据的 ...
- 程序设计入门-C语言基础知识-翁恺-第五周:函数-详细笔记(五)
目录 第五周:函数 5.1 函数 5-2 使用函数 5.3 课后习题 第五周:函数 5.1 函数 什么是函数? 函数是一块代码,接受零个或多个参数,做一件事情,并返回零个或一个值. 函数声明语法 返回 ...
- C语言程序设计进阶 翁恺 第4周编程练习
第4周编程练习 查看帮助 返回 第4周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业 ...
- 《程序设计入门——C语言》翁恺老师 第五周编程练习记录
1 素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个 ...
随机推荐
- iOS下Html页面中input获取焦点弹出键盘时挡住input解决方案
问题描述 iOS系统下,移动web页面,inpu获取焦点弹出系统虚拟键盘时,偶尔会出现挡住input的情况,尽管概率不大,但是十分影响用户体验. 问题重现 原始页面:页面中有header.main.f ...
- Ubuntu14.04右键菜单添加Sublime 2打开选项
序 Ubuntu上安装Sublime的时候直接下载的压缩包(软件中心里没有找到Sublime),于是每次想用Sublime打开一个文件的时候就得先打开Sublime然后从File -> Open ...
- php 数组 (3) reset() end() count() current() key()
<?php /* count()统计数组中元素的个数 reset() 把数组内部指针移动到数组第一个元素,并返回元素值 end() 把数组内部指针移动到数组最后一个元素,并返回元素值 prev( ...
- 关于left join连接查询 两张表里有同名字段的问题
左连接查询在开发中很常用,但有个问题常常会遇到,两个表中有同名字段时,比如左右表都有一个id字段,会造成查询结果中左表的id值被右表的id值覆盖掉(大部分php框架都是这个效果),而且还不会报错,容易 ...
- YUM更换源--yum找不到安装包(转)
公司提供的CentOS VM中,/etc/yum.repos.d 下 只有一个build.repo,其中提供的yum 源只有公司内部的几个源,很多包在这些源中都找不到.于是要添加别的源,下面的帖子中介 ...
- Python: xml转json
1,引言 GooSeeker早在9年前就开始了Semantic Web领域的产品化,MS谋数台和DS打数机是其中两个产品.对web内容做结构化转换和语义处理的主要路线是 XML -> RDF - ...
- Lake Counting--poj2386
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 23950 Accepted: 12099 D ...
- MySQL load data infile
语法: load data [low_priority] [local] infile ‘file_path' [replace] [ignore] into table table_name [(c ...
- Nginx学习笔记六Nginx的模块开发
1.Nginx配置文件主要组成:main(全局配置)这部分的指令将影响其他所有部分.server(虚拟主机配置)这部分指令主要用于指定虚拟主机域名,IP和端口.upstream(主要为反向代理,负载均 ...
- Zigbee2007协议中文介绍
Zigbee2007中文介绍ZigBee2007规范定义了ZigBee和ZigBee Pro两个特性集,全新的ZigBee 2007规范建立在ZigBee2006之上,不但提供了增强型的功能而且在某些 ...