c/c++零基础坐牢第三天
c/c++从入门到入土(3)
开始时间2023-04-17 19:07:20
结束时间2023-04-17 20:53:40
前言:经过三天的算法训练,大家肯定对后面的编程知识产生浓厚的兴趣,有了前两章的知识铺垫,我们今天来学习一下如何从键盘输入和屏幕输出!以下是自制思维导图参考于苏小红C语言程序设计(第四版):

作业三 输入输出
【C0067】设有定义:long x = 123456L ; ,则以下能够正确输出变量x值的语句是_______。
A.printf( "x=%d\n" , x ) ; B.printf( "x=%ld\n" , x ) ; C.printf( "x=%8dL\n" , x ) ; D.printf( "x=%LD\n" , x ) ;
答案:B
体会:printf()的一般格式printf(格式控制字符串);printf(格式控制字符串,输出值参数表);
格式控制字符串是用双引号括起来的字符串,也称转换控制字符串,输出值参数表中可有多个输出值,也可没有(只输出一个字符串时)。
一般情况下,格式控制字符串包括两部分:格式转换说明和需原样输出的普通字符。
格式转换说明由%开始,并以转换字符结束,用于指定各输出值参数的输出格式。
该题考差格式转换说明,x为长整型数据,格式转换说明为%ld
【C0068】若有以下程序段
int m = 0xabc , n = 0xabc ;
m -= n ;
printf( "%X\n" , m ) ;
执行后输出结果是_______。
A.0X0 B.0x0 C.0 D.0XABC
答案:C
体会:格式转换说明%X为以无符号十六进制整数形式(大写)输出,不输出前导符0x。本题中很明显m=n,通过m-=n;语句变量m的值变为0,最后输出0;
【C0069】已知char a = '\103' ;则语句printf( "%3d" , a ) ; 执行后的输出结果为_______。
A.67 B.'C' C. 67 D.103
答案:C
体会:字符型变量a的值被赋为'\103',‘ddd’为1到3位八进制ascll码值所代表的字符,3*1+1*64=67,所以变量a为C。输出格式为“%3d”,这里指定输出想输出时所占的列数并输出基本整型。
若m为正整数,当输出数据宽度小于m时,在域内向右靠齐,左边多余位补空格;当输出数据宽度大于m时,按实际宽度全部输出;若m有前导符0,则左边多余位补0。
若m为负整数,则输出数据在域内向左靠齐。
“%3d”,x为67,向右靠齐,左边补一个空格。
【C0070】已知a、b、c为int类型,执行语句:scanf( "a=%d, b=%d, c=%d" , &a , &b , &c ) ; ,若要使得a为1,b为2,c为3。则以下选项中正确的输入形式是_______。
A.a=1
b=2
c=3 B.1, 2, 3 C.a=1, b=2, c=3 D.1 2 3
答案:C
体会:scanf(格式控制字符串,参数地址表),其中格式控制字符串是用双引号括起来的字符串,它包括格式转换说明符和分隔符两个部分。函数scanf()的格式转换说明符通常由%开始,并以一个格式字符结束,用于指定各参数的输入格式。
注意!如果函数scanf()的格式控制字符串中存在除格式说明符以外的其他字符,那么这些字符必须在输入数据时由用户从键盘原样输入。
【C0071】已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是_______。
A.scanf( "%2d%2d%2d" , &i , &j , &k ) ; B.scanf( "%d %d %d" , &i , &j , &k ) ; C.scanf( "%d,%d,%d" , &i , &j , &k ) ; D.scanf( "i=%d,j=%d,k=%d" , &i , &j , &k ) ;
答案:C
体会:考查原样输入。
【C0072】x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是_______。
A.INPUT x、y、z ; B.scanf( "%d,%d,%d" , &x , &y , &z ) ; C.scanf( "%d,%d,%d" , x , y , z ) ; D.read( "%d,%d,%d" , &x , &y , &z ) ;
答案:B
体会:考查输入格式。
【C0073】若有int a ; float b ; scanf( "%d,%f" , &a , &b ) ; 使a、b的值分别为30和5.5,则正确的输入是_______。
A.30 5.5 B.30, 5.5 C.a=30, b=5.5 D.a=30 b=5.5
答案:B
体会:原样输入。
【C0074】根据以下定义语句和数据的输入方式,scanf语句的正确形式应为_______。
已有定义:float f1 , f2 ;
数据的输入方式:4.52
3.5
A.scanf( "%f, %f" , &f1 , &f2 ) ; B.scanf( "%f%f" , &f1 , &f2 ) ; C.scanf( "%3.2f %2.1f" , &f1 , &f2 ) ; D.scanf( "%3.2f%2.1f" , &f1, &f2 ) ;
答案:B
体会:scanf( "%f%f" , &f1 , &f2 ) ;以下五种输入格式输入数据,效果一样
1)以回车符作为数据分隔符
2)以空格符作为数据分隔符
3)以逗号作为数据分隔符
4)以制表符作为数据分隔符
5)以字符-作为数据分隔符
【C0075】以下针对scanf( )函数的叙述中,正确的是_______。
A.输入项可以为一实型常量,如scanf( "%f" , 3.5 ) ; B.只有格式控制,没有输入项,也能进行正确输入,如scanf( "a=%d, b=%d" ) ; C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如:scanf( "%4.2f" , &f ) ; D.当输入数据时,必须指明变量的地址,如scanf( "%f" , &f ) ;
答案:D
体会:Ascanf后参数必须是一个指针,也就是取地址符加一个变量,不能是一个常量;B只有格式控制,没有输出项不能正确输入;C当输入一个实型数据时,scanf只能指定数据的长度不能指定数据输入的精度。
【C0076】有以下程序
#include<stdio.h>
int main( ){
char c1 = '1' , c2 = '2' ;
c1 = getchar( ) ; c2 = getchar( ) ;
putchar( c1 ) ; putchar( c2 ) ;
}
当运行时输入a后,以下叙述正确的是_______。
A.变量c1被赋予字符a,c2被赋予回车符 B.程序将等待用户输入2个字符 C.变量c1被赋予字符a,c2中仍是原有字符2 D.变量c1被赋予字符a,c2中将无确定值
答案:A
体会:getchar()和putchar()是C标准函数库中专门用于字符输入/输出的函数。函数putchar()的作用是把一个字符输出到屏幕当前光标位置,而函数getchar()的作用是从键盘读字符。当程序调用getchar()时,程序就等待用户按键,用户从键盘输入的字符会被首先放到输入缓冲区中,直到用户按下回车键为止(回车符也会被放到输入缓冲区)。当用户键入回车后,getchar()才开始从标准输入流中读取字符,并且每次调用只读取一个字符,其返回值是用户输入的字符的ascll码,若遇到文件结尾(End-Of-File),则返回-1,且将用户输入的字符回显到屏幕上。如果用户在按回车之前输入了多个字符,那么其他字符会继续留在输入缓存区中,等待后续getchar()函数调用来读取,即后续的getchar()调用直接从缓冲区中读取字符,直到缓冲区中的字符(包括回车)全部读取完后,才会等待用户按键,只要缓冲区中有字符就不会等待用户的按键操作。
注意!函数getchar()没有参数,函数的返回值就是从终端键盘读入的字符。
【C0077】已知float f = 123.467 ; ,则执行语句printf( "%.2f\n" , f ) ; ,输出结果是123.47。
【C0078】已知字符'A'的ASCII值为十进制65,变量c为字符型,则执行语句c = 'A' + '6' - '3' ; printf( "%c\n " , c ) ; ,输出结果是D。
【C0079】scanf( )函数在输入数据时默认的分隔符有回车、Tab、空格。
【C0080】已知:int i = 10 , j = 1 ; 则执行语句 printf( "%d,%d" , i++ , ++j ) ; 后,输出结果10,2。
【C0081】下面程序的运行结果是261。 #include<stdio.h>
int main( ){
int m = 177 ;
printf( "%o\n" , m ) ;
return 0 ;
}
分析:%o形式输出,即以无符号的八进制整数形式输出,不输出前导符0。
【C0082】下面程序的运行结果是20。 #include<stdio.h>
int main( ){
int n = 0 ;
n += ( n = 10 ) ;
printf( "%d\n", n ) ;
return 0 ;
}
分析:最后输出n的基本整型,n先被赋初值为10,然后进行+=运算为20.
【C0083】下面程序的运行结果是201,10。 #include<stdio.h>
int main( ){
int a = 201 , b = 012 ;
printf( "%2d,%2d\n" , a , b ) ;
return 0 ;
}
分析:最后以逗号分隔以2为域宽输出a,b的值。
【C0084】下面程序的运行结果是y=4630y= 4630。 #include<stdio.h>
int main( ){
int y = 2456 ;
printf( "y=%3o" , y ) ;
printf( "y=%8o\n" , y ) ;
return 0 ;
}
分析:注意域宽。
【C0085】下面程序的运行结果是*3.140000,3.142*。 #include <stdio.h>
int main( ){
printf( "*%f,%4.3f*\n" , 3.14 , 3.1415 ) ;
return 0 ;
}
【C0086】下面程序的运行结果c:dec=120,oct=170,hex=78,ASCII=x。 #include<stdio.h>
int main( ){
char c = 'x' ;
printf( "c:dec=%d,oct=%o,hex=%x,ASCII=%c\n" , c , c , c , c ) ;
return 0 ;
}
【C0087】下面程序的运行结果是x=1 y=2 *sum*=310 squared is : 100。 #include<stdio.h>
int main( ){
int x = 1 , y = 2 ;
printf( "x=%d y=%d *sum*=%d" , x , y , x + y ) ;
printf( "10 squared is : %d\n" , 10 * 10 ) ;
return 0 ;
}
【C0088】下面程序的运行结果是2 48 20.0 20.0。 #include<stdio.h>
int main( ){
int n = 100 ;
char c ;
float f = 10.0 ;
double x ;
x = f *= n /= ( c = 48 ) ;
printf( "%d %d %3.1f %3.1f\n" , n , c , f , x ) ;
return 0 ;
}
【C0089】下面程序的运行结果是x+y+z=48。
运行时从键盘输入:25 13 10。 #include<stdio.h>
int main( ){
int x , y , z ;
scanf( "%d%d%d" , &x , &y , &z ) ;
printf( "x+y+z=%d\n" , x + y + z ) ;
return 0 ;
}
【C0090】下面程序的运行结果是55, ,A。
运行时从键盘输入:55 A B。 #include <stdio.h>
int main( ){
int k = 0 ; char c1 = 'a' , c2 = 'b' ;
scanf("%d%c%c" , &k , &c1 , &c2 ) ;
printf( "%d,%c,%c\n" , k , c1 , c2 ) ;
return 0 ;
}
编程题!!
第一题
7-1 【C0091】编写一个程序,读入一个字母,输出与之对应的ASCII码值
分数 10
作者 C语言程序设计,沈国荣,浙江大学出版社
单位 石家庄铁道大学
编写一个程序,读入一个字母,输出与之对应的ASCII码值。 输入格式:
以以下些格式输入一个字母: 请输入一个字母:<字母> 输出格式:
对于输入的字母,以以下格式输出该字母的ASCII码值: <字母>的ASCII码为<字母的ASCII码> 输入样例:
请输入一个字母:A
输出样例:
A的ASCII码为65
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main()
{
char a;
scanf("请输入一个字母:%c",&a);
printf("%c的ASCII码为%d\n",a,a);
return 0;
}
----------分割线----------
第二题
7-2 【C0092】输入圆的半径,圆柱的高,计算圆周长、圆面积和圆柱体积
分数 10
作者 C语言程序设计,沈国荣,浙江大学出版社
单位 石家庄铁道大学
编写一个程序,从键盘输入圆半径r,圆柱高h,分别计算圆周长cl、圆面积cs和圆柱体积cv,输出计算结果时要求保留小数点后4位。。 输入格式:
以以下些格式输入半径和高: 请输入圆半径和圆柱高:<半径r>,<高h> 输出格式:
以以下些格式输出圆周长cl、圆面积cs和圆柱体积cv,要求计算结果保留小数点后4位: 圆周长=<圆周长cl> 圆面积=<圆面积cs> 圆柱体积=<圆柱体积cv> 输入样例:
请输入圆半径和圆柱高:1,1
输出样例:
在这里给出相应的输出。例如: 圆周长=6.2832
圆面积=3.1416
圆柱体积=3.1416
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
#define PI 3.1416
int main()
{
double r,h;
double cl,cs,cv;
r=1;
h=1;
cl=2*PI*r;
cs=PI*r*r;
cv=PI*r*r*h;
printf("圆周长=%.4lf\n",cl);
printf("圆面积=%.4lf\n",cs);
printf("圆柱体积=%.4lf\n",cv);
return 0;
}
----------分割线----------
第三题
7-3 【C0093】输入一个三位数,分别求出这个三位数的个位、十位和百位上的数字
分数 10
作者 C语言程序设计,沈国荣,浙江大学出版社
单位 石家庄铁道大学
【C0093】编写一个程序,输入一个三位数,分别求出这个三位数的个位、十位和百位上的数字。 输入格式:
以以下格式输入一个三位整数: 输入三位整数:<三位数> 输出格式:
以以下格式输出该三位数的各位数字: 个位<个位数字>,十位<十位数字>,百位<百位数字> 输入样例:
输入三位整数:123
输出样例:
个位3,十位2,百位1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include<stdio.h>
int main()
{
int g,s,b,num;
num=123;
scanf("%d",&num);
b=num/100;
s=num%100/10;
g=num%10;
printf("个位%d,十位%d,百位%d\n",g,s,b); return 0;
}
总结:从输入输出开始,你正式半步踏入编程的大门,接踵而来的是各种各样的“error”“warning”,它们会阻碍你向前迈进下一步。希望你可以遇到一个解决一个,虽然“子子孙孙无穷尽也”,但你一定也能在解决报错中感受到编程的乐趣,加油加油!
每天一mo:我试图与你重逢,在凌晨三点的旧梦里,你不知道就算在梦里,我也会躲着你......
c/c++零基础坐牢第三天的更多相关文章
- IM开发者的零基础通信技术入门(三):国人通信方式的百年变迁
[来源申明]本文原文来自:微信公众号“鲜枣课堂”,官方网站:xzclass.com,原题为:<中国通信的百年沉浮>,本文引用时已征得原作者同意.为了更好的内容呈现,即时通讯网在收录时内容有 ...
- salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
上一篇内容是通过Process Builder和Approval Processes实现锁定记录的功能,有的时候,往往锁定一条记录需要很多的限制条件,如果通过Approval Processes的条件 ...
- salesforce 零基础学习(三十九) soql函数以及常量
在salesforce中,我们做SOQL查询时,往往需要用到计算式,比如求和,求平均值,或者过滤数据时,往往需要通过时间日期过滤,SOQL已经封装了很多的函数,可以更加方便我们的sql查询而不需要自己 ...
- salesforce 零基础学习(三十七) DML及Database方法简单描述
在apex中通过soql查询可以使用两种方式,使用DML语句或者使用Database的方法. 使用DML语句和使用Database类的方法对于我们来说用的都很多,并且都很常见.对于数据库常见的操作:增 ...
- Community Cloud零基础学习(三)Partner Account
本篇参考:http://salesforce.vidyard.com/watch/bLE3QNRSej2iasw9vvc6Tk http://salesforce.vidyard.com/watch/ ...
- JavaScript零基础学习系列三
函数 函数:为了完成某个功能而定义的代码的集体.函数是数据类型,只读的对象:函数也是对象:代码的重用.(JavaScript中) 定义语法:function 函数名(形式参数1,形式参数2--){ / ...
- salesforce 零基础学习(三十八)Translate 的使用(国际化处理)
本篇参考:http://resources.docs.salesforce.com/200/17/en-us/sfdc/pdf/salesforce_workbench_cheatsheet.pdf ...
- salesforce 零基础学习(三十五) 通过Process Builder和Approval Processes锁定记录(Lock Record)
有的时候我们可能有这样的需求,当某个字段为特定的值情况下,便锁定此条记录,仅允许Profile为System Admin的用户修改或者解锁,其他的用户只能查看此条记录,不能修改此条记录,这种情况下我们 ...
- salesforce 零基础学习(三十四)动态的Custom Label
custom label在项目中经常用到,常用在apex class或者VF里面用来显示help text或者error message.有的时候我们需要用到的信息是动态变化的,那样就需要动态来显示信 ...
- salesforce 零基础学习(三十三)通过REST方式访问外部数据以及JAVA通过rest方式访问salesforce
本篇参考Trail教程: https://developer.salesforce.com/trailhead/force_com_dev_intermediate/apex_integration_ ...
随机推荐
- RS485总线常用拓扑结构
RS485总线拓扑结构一般可分为以下4种,分别是:总线型拓扑结构.星型拓扑结构.树形拓扑结构.环形拓扑结构.根据RS485总线布线规范,只能按照总线拓扑结构布线,但是由于现场环境复杂多变,为了能够使整 ...
- 3D max安装
一.安装包获取 下载前关闭电脑保护,病毒查杀等功能,因为注册机会被认为是病毒处理!!! 3dmax2018(64位)下载链接:https://pan.baidu.com/s/1dDsRW9XQa ...
- IT工具知识-13: 如何编辑SVG图像文件并转换为ICO图标文件
使用背景 最近做了个小软件, 但是桌面快捷方式图标不好看, 于是想着找个好看点的图标, 但是网上搜了一圈, 发现好看的几乎都要钱, 常用的话, 付费倒也不反感, 但是, 仅仅只用那么一两次, 为这个付 ...
- 9.22 2020 实验 3:Mininet 实验——测量路径的损耗率
一.实验目的 在实验 2 的基础上进一步熟悉 Mininet 自定义拓扑脚本,以及与损耗率相关的设定:初步了解 Mininet 安装时自带的 POX 控制器脚本编写,测试路径损耗率. 二.实验任务 ...
- 读取nrf52832的ADC,并且获取N个数组中的中间值
//****读取中间值****// short GetMedianNum(short * bArray, short iFilterLen) { short i,j,bTemp;// 排序循环 for ...
- XML元素限定
XML元素限定的意义:XML 用于数据交换,而标签又是可以任意定义的,为了让 XML 的编写者和使用者之间能正确交流----->需要对标签等约定.在 XML 中有两种约定方法 dtd 格式和 x ...
- C#中字符数组,字节数组和string之间的转化(转)
原文链接:http://hi.baidu.com/endyli/item/7bf074945de35e1f934f41fe 来源: NDC(NetworkDiskClient)的界面和后台程序之间用S ...
- el-scrollbar element-ui的滚动条组件(官方文档没有写出来)
<el-scrollbar></el-scrollbar> //去掉横向滚动条 /deep/.el-scrollbar__wrap { overflow-x: hidden; ...
- Javaweb实践复习--MyBatis
增删改查操作 查询 查询所有数据 1.编写接口方法:Mapper接口------参数:无------结果:List 2.编写sql语句:SQL映射文件 一般情况下,若是用户实体类里面的变量名称与数据库 ...
- 使用Docker搭建MinIO集群服务
概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用Docker的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 RELEASE ...