C语言实验(C语言数据类型及输入输出函数)

C语言实验(C语言数据类型及输入输出函数)
C语言实验(C语言数据类型及输入输出函数)

实验一C语言数据类型及输入输出函数

一、实验目的

1、熟悉C语言编译环境Turbo C 2.0;

2、熟悉C语言的基本数据类型;

3、熟悉C语言的基本输入及输出函数;

4、使用TC编写简单的程序。

二、预习并思考

1.C语言所包括的基本数据类型

1)整型

整型数据可以有哪几种表示形式?(十进制,八进制,十六进制)

答:长整型、短整型、整型、无符号基本型、无符号短整型和无符号长整型

这几种类型的数据应该如何定义?

答:数据定义关键字分别为long (int),short (int),int,unsigned (int),unsigned short (int),unsegned lont (int) 怎么区分?

答:区分方法就是看定义使用的关键字和取值范围。

整型数据的范围是多少?

答:长整型 -2147483648—2147483647;整型和短整型都是-32768—32767,无符号基本型和短整型为0-65565,无符号长整型为0-4294967295。

超出以后会如何?

答:超出范围就会造成数据溢出,有的编译器只能取在这个范围内的数据。

2)实型

实型数据分为单精度float和双精度double两种,它们存储时分别占据多大的内存空间?

答:float它在内存中占用4位内存空间

double它在内存中占用8位内存空间

3)字符型

一个字符的数据范围有多大?

答:一个英文字符是一个字节,一个中文字符是两个字节。1个字节等于8位二进制。范围就是 -128 ~ 127,2个字节的范围就是负的2十六次方到 2的十六次方减一。

如何理解字符数据和整型数据之间的关系?

答:字符数据和整形数据之间可以通用,可以按字符形式输出,也可以按整型输出。

字符数据与整型数据可以相互赋值. 每一个字符都可以转化成整型的。

字符和字符串之间的关系是什么,存储时有何区别?

答:字符是一个char型,是一个字节,只用一个字节就可以存放一个字符,而字符串是将多个字符连在一起存放的。

字符是一个字节,表示方式为单引号。字符串是多个字节,字符串的结尾是以“\0“结尾的,所以表示方式为双引号。

三、实验内容

阅读并调试下列程序

1.printf()函数的使用方法

main()

{

int a=1234;

int b=255;

float f=123.456;

char ch=‘a’;

print f(“%8d,%2d\n”,a,a);

printf(“%d\t%o\t%x\n”,b,b,b);

printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);

printf(“%3c\n”,ch);

}

答: 1234,1234

255 377 ff

123.456001,123.456001, 123.5123.46.1.2e+02

a

2.scanf()函数的使用方法

main()

{

int x;

char ch;

float f; float a,b,c,s,area;

/*这里可以用printf()输出一个提示输入的语句,指明用户应当输入什么数据*/

scanf(“%d”,&x);

/*这里可以用printf()输出一个提示输入的语句*/

scanf(“%c”,&ch);

/*这里可以用printf()输出一个提示输入的语句*/

scanf("%f,%f,%f",&a,&b,&c);

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n",a,b,c,s);

printf("area=%7.2f\n",area);

printf(“x=%d,ch=%d\n”,x,ch);

}

答:输入1,a,0.1,0.2,0.3

显示:

1,a,0.1,0.2,0.3

sqrt:DOMAIN error

a= 0.00,b= 0.00,c=7.2f.s= -NAN

area= 33.00

x=1,ch=44

实验练习:

1. 在一个程序中,分别有两个变量,一个名字为m,一个名字为n,他们的值分别是以下几组数据。请分析他们的数据类型,并分别为每组数据编制程序,输出其m和n 的值,观察程序运行结果。

m=5,n=8;

答:整型。

#include

main( )

{

int m,n,g;

scanf("%d,%d",&m,&n);

g=n*m;

printf("%d\n",g);

}

结果:40

m=’a’,n=’B’;

答:字符型

#include

main( )

{

char m,n;

scanf("%c,%c",&n,&m);

printf("I am is %c,so I not %c\n",n,m);

}

结果:I am is a,so I not B

m=-43,n=278;

答:整型。

#include

main( )

{

signed int m;

unsigned int n;

int y;

scanf("%d,%d",&m,&n); y=n-m;

printf("%d\n",y);

}

结果:321

m=234.45,n=123.245;

答:浮点型

#include

main( )

{

float m,n,k;

scanf("%f,%f",&m,&n); k=m/n;

printf("%f\n",k);

}

结果:1.902308

2. 编写程序,要求输入某职工的工资和奖金,并求出总收入(注意保留2位小数)显示输出。

答:

#include

main( )

{

float x,y,z;

printf("please input x,y !\n");

scanf("%f,%f",&x,&y);

z=x+y;

printf("%.2f\n",z);

}

四、思考题

1.常用的转义字符有哪些?基本功能如何?

2. scanf()函数的格式输入控制是如何实现的?试结合具体的数据类型来说明。

3.printf()函数的格式输出控制是如何实现的?试结合具体的数据类型来说明。

C语言实验报告《函数》

C语言实验报告《函数》 C语言实验报告《函数》 学号: __________ 姓名: __________ 班级: __________ 日期: __________ 指导教师: __________ 成绩: __________ 实验四函数 一、实验目的 1、掌握函数定义、调用和声明的方法 2、掌握实参和形参之间的传递方式 3、函数的嵌套调用 二、实验内容 1、写一个函数,将两个字符串连接。(习题 8. 6) 2、编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。(习题 8.9)

3、请将实验三中的实验内容三改正后,再改写成函数形式(排序部分)。物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板 三、实验步骤与过程 四、程序调试记录 一、实验目的 1.观察植物细胞有丝分裂的过程,识别有丝分裂的不同时期。 初步掌握制作洋葱根尖有丝分裂装片的技能。 3.初步掌握绘制生物图的方法。 二、实验原理在植物体中,有丝分裂常见于根尖、茎尖等分生区细胞,高等植物细胞有丝分裂的过程,分为分裂间期和分裂期的前期、中期、后期、末期。可以用高倍显微镜观察植物细胞的有丝分裂的过程,根据各个时期细胞内染色体(或染色质)的变化情况,识别该细胞处于有丝分裂的哪个时期,细胞核内的染色体容易被碱性染料着色。 三、材料用具洋葱根尖、显微镜、载玻片、盖玻片、滴管、镊子、培养皿、铅笔、质量分数为15%的盐酸、体积分数为95%的酒精、质量分数为0.01gml的龙胆紫(或紫药水) 四、实验过程(见书P39) 1.洋葱根尖的培养(提前3—4天) 2.解离: 5min 3.漂洗: 10min 4.染色: 5min

游戏C语言实验报告完整版

游戏C语言实验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。? (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装 vc++或v2008等编译软件 三、程序设计 Y

四、源代码 #include<> #include<> #include<> #include<> #define M 2048 void up(); n"); printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n"); printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n"); printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n"); printf(" 玩家选择的方向行或列前方有空格则出现位移.\n"); printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n"); printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n"); printf(" 棋盘上出现2048,判胜,游戏结束"); printf("\n\n\n"); printf(" \t\t\t按回车开始游戏.\n"); getchar(\n);

C语言关键字共32个

由ANSI标准定义的C语言关键字共32个: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if while static 根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类。 1数据类型关键字 A.基本数据类型(5个) void:声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 char:字符型类型数据,属于整型数据的一种 int:整型数据,通常为编译器指定的机器字长 float:单精度浮点型数据,属于浮点数据的一种 double:双精度浮点型数据,属于浮点数据的一种 B.类型修饰关键字(4个) short:修饰int,短整型数据,可省略被修饰的int。 long:修饰int,长整形数据,可省略被修饰的int。 signed:修饰整型数据,有符号数据类型 unsigned:修饰整型数据,无符号数据类型 C.复杂类型关键字(5个) struct:结构体声明 union:共用体声明 enum:枚举声明 typedef:声明类型别名 sizeof:得到特定类型或特定类型变量的大小 D.存储级别关键字(6个) auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配 static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部 register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数 extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 const:与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变) volatile:与const合称“cv特性”,指定变量的值有可能会被系统或其他进程/线程改变,强制编译器每次从内存中取得该变量的值 2流程控制关键字

C语言输入输出函数格式详解

1、输入和输出: 输入:输入也叫读,数据由内核流向用户程序 输出:输出也称写、打印,数据由用户程序流向内核 以下介绍一些输入输出函数,尽管都是一些有缺陷的函数,但比较适合初学者使用 2、printf用法(其缺陷在于带缓存) printf输出时必须加上\n(刷新缓存) 解释:第一幅图没有加'\n',不会刷新缓存区,则不会打印出来;第二幅图是因为主函数结束时刷新了缓存区,但由于没有换行符,所以没有换行便显示了后面的内容;第三幅图时正常打印。 变量定义的是什么类型,在printf打印时就需要选择什么格式符,否则会造成数据的精度丢失(隐式强转),甚至会出现错误

(1)格式输出函数的一般形式 函数原型:intprintf(char * format[,argument,…]); 函数功能:按规定格式向输出设备(一般为显示器)输出数据,并返回实际输出的字符数,若出错,则返回负数。 A、它使用的一般形式为:printf("格式控制字符串",输出项列表); B、语句中"输出项列表"列出要输出的表达式(如常量、变量、运算符表达式、函数返回值等),它可以是0个、一个或多个,每个输出项之间用逗号(,)分隔;输出的数据可以是整数、实数、字符和字符串。 C、"格式控制字符串"必须用英文的双引号括起来,它的作用是控制输出项的格式和输出一些提示信息,例如:

inti=97; printf("i=%d,%c\n",i,i);输出结果为:i=97,a 语句printf("i=%d,%c\n",i,i);中的两个输出项都是变量i,但却以不同的格式输出,一个输出整型数97,另一个输出的却是字符a,其格式分别由"%d"与"%c"来控制。 语句printf("i=%d,%c\n",i,i);的格式控制字符串中"i="是普通字符,他将照原样输出;"%d"与"%c"是格式控制符;"\n"是转义字符,它的作用是换行。 (2)格式控制 格式控制由格式控制字符串实现,格式控制字符串由3部分组成:普通字符、转义字符、输出项格式说明。 A、普通字符。普通字符在输出时,按原样输出,主要用于输出提示信息。(空格属于普通字符) B、转义字符。转义字符指明特定的操作,如"\n"表示换行,"\t"表示水平制表等。 \n 换行 \f 清屏并换页 \r 回车 \tTab符 \xhh表示一个ASCII码用16进表示,其中hh是1到2个16进制数 C、格式说明部分由"%"和"格式字符串"组成,他表示按规定的格式输出数据。格式说明的形式为:% [flags] [width] [.prec] [F|N|h|l] type||%[标志][输出最少宽度][.精度][长度]类型 各部分说明如下: a、[]表示该项为可选项,即可有可无,如printf("%d",100); b、%:表示格式说明的起始符号,不可缺少。 c、flags为可选择的标志字符,常用的标志字符有: - ——左对齐输出,默认为右对齐输出 + ——正数输出加号(+),负数输出减号(-),如省略正数的+默认不显示 0 ——输出数值时指定左面不使用的空位置自动填0,如省略表示指定空位不填 # ——对c、s、d、u类无影响;对o类,在输出时加前缀0(数字0,八进制表示符);对x类,在输出时加前缀0x(字母为小写);对X类,在输出时加前缀0X(字母为大写);对e,g,f类当结果有小数时才给出小数点。 d、width为可选择的宽度指示符。 用十进制正整数表示设置输出值得最少字符个数。不足则补空格,多出则按实际输出,默认按实际输出,例如: printf("%8d\n",100); (前面空五格)100 printf("%08d\n",100); (前面5个0)100 printf("%6d\n",100); (前面空三格)100 printf("%-8d\n",100); 100(后面空五格) printf("%+8\n",100); (前面空四格)+100 e、[.prec]为可选的精度指示符 用“小数点”加“十进制正整数”表示,对“整数”、“实数”和“字符串”的输出有如下

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

C语言编程常用头文件

C语言编程常用头文件 C语言常用头文件总结 序号库类别头文件 1 字符处理ctype.h 2 地区化local.h 3 数学函数math.h 4 信号处理signal.h 5 输入输出stdio.h 6 实用工具程序stdlib.h 7 字符串处理string.h 字符处理函数 本类别函数用于对单个字符进行处理,包括字符的类别测试和字符的大小写转换头文件ctype.h 函数列表<> 函数类别函数用途详细说明 字符测试是否字母和数字isalnum 是否字母isalpha 是否控制字符iscntrl 是否数字isdigit 是否可显示字符(除空格外)isgraph 是否可显示字符(包括空格)isprint 是否既不是空格,又不是字母和数字的可显示字符ispunct 是否空格isspace 是否大写字母isupper 是否16进制数字(0-9,A-F)字符isxdigit 字符大小写转换函数转换为大写字母toupper 转换为小写字母tolower 地区化 本类别的函数用于处理不同国家的语言差异。

头文件local.h 函数列表 函数类别函数用途详细说明 地区控制地区设置setlocale 数字格式约定查询国家的货币、日期、时间等的格式转换localeconv 数学函数 本分类给出了各种数学计算函数,必须提醒的是ANSI C标准中的数据格式并不符合IEEE754标准,一些C语言编译器却遵循IEEE754(例如frinklin C51) 头文件math.h 函数列表 函数类别函数用途详细说明 错误条件处理定义域错误(函数的输入参数值不在规定的范围内) 值域错误(函数的返回值不在规定的范围内) 三角函数反余弦acos 反正弦asin 反正切atan 反正切2 atan2 余弦cos 正弦sin 正切tan 双曲函数双曲余弦cosh 双曲正弦sinh 双曲正切tanh 指数和对数指数函数exp 指数分解函数frexp 乘积指数函数fdexp 自然对数log 以10为底的对数log10 浮点数分解函数modf 幂函数幂函数pow 平方根函数sqrt 整数截断,绝对值和求余数函数求下限接近整数ceil 绝对值fabs 求上限接近整数floor 求余数fmod 本分类函数用于实现在不同底函数之间直接跳转代码。头文件setjmp.h io.h

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

C语言输入输出函数printf与scanf的用法格式

C 语言输入输出函数printf 与scanf 的用法格式 printf()函数用来向标准输出设备(屏幕)写数据; scanf() 函数用来从标准输入设备(键盘)上读数据。下面详细介绍这两个函数的用法。 一、printf()函数 printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>); 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式控制字符, 以"%"开始, 后跟一个或几个控制字符,用来确定输出内容格式。 参量表是需要输出的一系列参数,可以是常量、变量或表达式,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应, 否则将会出现意想不到的错误。 例如: printf("a=%d b=%d",a,b); 1. 格式控制符Turbo C 2.0提供的格式化规定符如下: 格式控制字符 参量表 正常字符

━━━━━━━━━━━━━━━━━━━━━━━━━━ 符号作用 ────────────────────────── %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e,%E 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %o 无符号以八进制表示的整数 %g,%G 自动选择合适的表示法 ━━━━━━━━━━━━━━━━━━━━━━━━━━ printf的附加格式说明字符 字符说明 l 用于长整型数或双精度实型,可加在格式 符d、o、x、u和f前面 m(代表一个正整数据最小输出显示宽度

广技师C语言复习题集2.练习(输入输出)(含答案解析)

一、选择题 1. 以下程序的运行结果是。 #include int main( ) { int m=5, n=10; printf(“%d, %d\n”,m++, --n); return 0; } A.5,9 B.6,9 C.5,10 D.6,10 2. 有定义语句int a,b; ,若要通过语句scanf(“%d, %d”, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的是。(注:□代表空格) A.6,5<回车> B.6,□□5<回车> C.6 5<回车> D.6,<回车> 5<回车> 3. 以下程序的输出结果是。(注:□代表空格) #include int main( ) { printf(“\n*s1=%15s*”, “chinabeijing” ); pirntf(“\n*s2=%-5s*”, “chi”); return 0; }

A.*s1=chinabeijing□□□* B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□* C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□* 4. 已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是。(注:□代表空格) int a1,a2; char c1, c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2); A.10A□20B<回车> B.10□A□20□B<回车> C.10□A□20B<回车> D.10A20□B<回车> 5. 已有定义int x; float y; 且执行scanf(“%3d%f”, &x,&y); 语句,若从第一列开始输入数据12345□678<回车>,则x的值为(1),y的值为(2)。(注:□代表空格) (1)A.12345 B.123 C.45 D.345 (2)A.无定值B.45.000000 C.678.000000 D.123.000000 6. 阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为。 #include int main( ) { int x,y,z;

C语言实验报告参考答案原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

C语言数据的输入与输出

C语言数据的输入与输出 一.Printf函数 函数原型在头文件stido.h中(使用时可以不包括) printf函数的返回值等于成功输入得数据的个数 1.printf函数得一般调用形式 printf(格式控制字符串,输出项列表) 格式控制字符串包括: (1)格式指示符 格式:%[标志][宽度][.精度][[h|l]<类型>] (2)转义字符 如:'\n','\0' (3)普通字符 如:printf("max=%d,min=%d\n",a,b); “max=”和“,min=”是普通字符;“%d”是格式指示符;“\n”是转义字符; a和b是输出类表中的输出项(可以是常量、变量、或表达式)。 2.print函数中常用得格式控制说明 (1)数据类型控制字符 格式字符说明 %c输出一个字符 %d或%i以十进制形式输出一个带符号得整数(正数不输出符号) %u以十进制形式输出无符号整数。若有符号则自动将符号位转化为数值位,%o 和%x也具有类似得功能 %o以八进制形式输出无符号整型数(不带前导0) %x或%X以十六进制形式输出无符号整型数(不带前导0x或0X)。对于十六进制数中的字符abcdef,用%x时输出得是小写字母,%X时输出的是大写字母 %f以小数形式输出单精度或双精度实数 %e或%E以指数形式输出单精度或双精度实数 %g或%G有系统决定是采用%f还是%e格式,以使输出结果的总宽度最小,并且不输出没意义的0 %s依次输出字符串中得各个字符,知道遇到'\0'是结束 (2)数据类型修饰符 数据类型修饰符在%和数据类型控制符之间 如:长整型"%ld",短整型"%hd" (3)输出数据所占得宽度与精度

c语言输入输出函数知识点总结

c语言输入输出函数知识点总结 1.I/O input output(输入端,输出端) 输入:从计算机向外部输出设备(显示器,打印机)输出数据。 输出:从输入设备(键盘、鼠标、扫描仪)向计算机输入数据。 2.C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数实现的。 3.字符输出函数一般形式:putchar(a);a可以是字符型变量、整型变量、字符常量、整型常量。函数作用:向终端输出一个字符。 4.字符输入函数一般形式:a=getchar( );函数作用:从终端输入一个字符。函数值:从输入设备得到的字符。 5.格式输出字符 %d:以十进制输出整数;%o:以八进制形式输出整数;%c:以字符形式输出一个字符;%s:输出字符串;%f:以小数形式输出单、双精度数,隐含输出六位小数。 6.getchar一次只能输入一个字符,有几个getchar()就输入几个字符,多输入的计算机不能识别。 7.getchar()输入的时候,空格键、Enter键、Tab键不能乱用,他们都当成字符对待。 printf("%d,%c,%f,%o,%x,%s",a,b,c,d,e,f); .......................................... 8.格式控制都是小写字母; 9.格式控制与后面要输出的变量是一一对应;................................................... 10.printf("%md",a); 1).m是整数; 2).m是指输出的结果占m列宽度; 3).m是正整数的话,输出结果差几列左补几个空格; m是负整数的话,输出结果差几列右补几个空格; 4).如果m的绝对值小于原来数的宽度,则原样输出。................................................... 11.printf("%m.nf",a); 1).m是指输出占几列宽度,n是指输出结果小数点后保留几位有效数字; 2).m是正整数的话,输出结果差几列左补几个空格; m是负整数的话,输出结果差几列右补几个空格; 3).printf("%2.5f",a); m

C语言实验报告

实验一进制转换 一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。 五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换的进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1);fun(a,c);

C语言实验报告(四)

C语言实验报告(四) 一、实验目的 1.掌握C语言中函数和模块 2.掌握怎样定义函数,如何调用或使用函数,如何声明函数 3.掌握函数的参数,了解在函数调用时,参数是如何传递的 4.在使用函数的过程中怎样确定函数的参数 5.如何使用局部变量和全局变量 二、实验内容 1. 偶数判断 描述: 编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1 。编写一个程序,从键盘输入m个整数,分别调用用户自定义函数来判断这m个整数的奇偶性。 输入: 第一行为一个整数m,表示要判断m个整数的奇偶性;紧接着是m行,每行一个整数。 输出:有m行,分别对应输入的第2到第m+1行的整数的奇偶性样例输入: 2 1 6 样例输出: 奇数 偶数

·程序代码: #include"stdio.h" int isEven(int a) { if(a%2==0) return 1; else return 0; } int main() { int m,i,b; scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%d",&b); if(isEven(b)==1) printf("偶数\n"); else printf("奇数\n"); } return 0; } 2.温度转换 描述: 编写一个用户自定义函数,函数的功能是:将华氏温度转F换为摄氏温度C。转换公式为:C=5*(F-32)/9。编写一个程序,输出指定范围的华氏温度与摄氏温度的对照表,其中华氏温度步长为4。 输入: 两个空格隔开的整数n,m(且0

C语言实验报告范文

实验名称:指针及其应用日期:得分:指导老师: 专业:班次:姓名:学号: 实验目的 (1)掌握变量的指针及其基本用法。 (2)掌握一维数组的指针及其基本用法。 (3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。一.实验内容( 1)运行以下程序,并从中了解变量的指针和指针变量的概念。 (2)运行以下程序,观察 &a[0] 、&a[i] 和 p 的变化,然后回答以下问题: 1.程序的功能是什么? 2.在开始进入循环体之前, p 指向谁? 3.循环每增加一次, p 的值(地址)增加多少?它指向谁? 4.退出循环后, p 指向谁? 5.你是否初步掌握了通过指针变量引用数组元素的方法?( 3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。 ( 4)编写函数,将 n 个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入 10 个数; ②调用此函数进行重排; ③输出重排后的结果。 二.分析与讨论 ( 1)指针的定义方法,指针和变量的关系。 定义方法: 数据类型 * 指针变量名 ; 如定义一个指向 int 型变量的指针—— int *p; 则我们可以继续写如下代码—— int a = 4; p = &a; printf("%d", *p); 在这里,我们定义了一个变量a,我们把它理解为内存空间连续的 4个字节(int 型占用 4字节),则这 4个字节的空间保存着一个数 4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p (记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保 存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的 4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和 printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时 int *p 的*号作用不同(定义时的 *表示该变量是个指针变量,而非是取它指向的变量)。 ( 2)数组和指针的关系。 指针与数组是 C 语言中很重要的两个概念,它们之间有着密切的关系,利用这种

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

相关文档
最新文档