程序设计语言 C3

合集下载

C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案

C语言程序设计教程课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2C语言程序的基本结构是怎样的?举一个例子说明。

答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

答AB12--√ leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--×XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。

答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

C语言程序设计实例教程 第3版习题答案U1

C语言程序设计实例教程 第3版习题答案U1

1.3 课后习题1.3.1 项目练习一.练习目的1.进行简单程序的编写;2.进一步熟悉C语言的编程环境;3.进一步巩固C语言程序的建立、编译、执行过程。

二.练习内容1.编程输出一行汉字“我坚信:我一定能学好C语言!”。

#include "stdio.h"main(){printf("我坚信:我一定能学好C语言!");getchar();}2.用自然语言描述、画N-S图、画传统流程图三种方法来描述求1+2+3+…n和值的算法。

自然语言描述:先输入n 的值定义一个变量i,定义一个变量sum,用于存放每次累计的和值I 从0开始,累加到sum中累加到n的值,结束输出sum的值N-S图传统流程图:开始sum=0i=0输入n的值i=i+1sum=sum*ii<=n是输出sum的值结束1.3.2 练习题一.选择题1.下列有关C语言的说法正确的是( C )。

(A)机器语言(B)只适合于编写应用软件(C)高级语言(D)只适合于编写系统软件2.下列说法中,不属于良好程序设计风格要求的是( C )。

(A)程序中要有必要的注释(B)程序应简单、可读性好(C)程序的效率第一,清晰第二(D)输入数据前要有提示信息3.用C语言编写的代码是( A )。

(A)经过编译解释才能执行(B)可以立即执行(C)是一个源程序(D)经过编译立刻执行4.下列语句说法正确的是( C )。

(A)语句必须从第一行开始书写(B)一个语句只能写在同一行上(C)一个语句可以书写在多行上(D)一个语句不得多于80个字符5.一个程序总是从( B )位置开始执行。

(A)第一个函数(B)main()(C)程序的第一行(D)第一条执行语句6.下面对C语言的特点,说法不正确的是( B )。

(A)C语言是一种结构化模块化的程序设计语言(B)C语言程序的可移植性较差(C)C语言兼有高级语言和低级语言的双重特点(D)C语言既可以用来编写应用程序,又可以用来编写系统软件7.下列不是C语言特点的是( D )。

C语言程序设计试题及答案解析

C语言程序设计试题及答案解析

C语言程序设计试题第1、2、3章 概述、类型、表达式一、选择题1、 一个C程序由若干个C函数组成,各个函数在文件中的位置顺序为:( )A、 任意B、 第一个函数必须是主函数,其他函数任意C、 必须完全按照执行的顺序排列D、 其他函数可以任意,主函数必须在最后2、 下列四个叙述中,正确的是:( )A、 C程序中的所有字母都必须小写B、 C程序中的关键字必须小写,其他标示符不区分大小写C、 C程序中的所有字母都不区分大小写D、 C语言中的所有关键字必须小写3、 下列四个叙述中,错误的是:( )A、 一个C源程序必须有且只能有一个主函数B、 一个C源程序可以有多个函数C、 在C源程序中注释说明必须位于语句之后D、 C源程序的基本结构是函数4、 下面不是C语言合法标识符的是:( )A、abcB、5nC、_4mD、x35、 以下叙述不正确的是:( )A. 分号是C语句的必要组成部分B. C程序的注释可以写在语句的后面C. 函数是C程序的基本单位D. 主函数的名字不一定非用main来表示6、 C语言中允许的基本数据类型包括:( )A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型7、 C语言中能用八进制表示的数据类型为:( )A、字符型、整型B、整形、实型C、字符型、实型、双精度型D、字符型、整型、实型、双精度型8、 下列属于C语言合法的字符常数是:( )A、’\97’B、”A”C、’\t’D、”\0”9、 在C语言(VC环境)中,5种基本数据类型的存储空间长度的排列顺序为:( )A、char<int<=long int <=float<doubleB、char=int<long int <=float<doubleC、char<int<long int=float=doubleD、char=int=<long int <=float<double10、 在C语言中(VC环境),一定是长整型常数的是:( )A、0LB、4962710C、0412765D、0xa34b7fe11、 若有以下定义语句char c1=’b’, c2=’e’;printf(“%d,%c\n”,c2-c1,c2-‘a’+’A’);则输出结果是:( )A、2,MB、3,EC、2,ED、输出项与相应的格式控制不一致,输出结果不确定12、 以下合法的赋值语句是:( )A、x=y=100B、d--;C、x + yD、c = int(a+b);13、 设变量t为int型,下列选项中不正确的赋值语句是:( )A、++t;B、n1=(n2=(n3=0));C、k=i==m;D、a=b+c=1;14、 在以下一组运算符中,优先级最高的是:( )A、<=B、==C、%D、&&15、 下列能正确表示a≥10或a≤0的关系表达式是:( )A、a>=10 or a<=0B、a<=10 || a>=0C、a>=10 || a<=0D、a>=10 && a<=016、 下列只有当整数x为奇数时,其值为“真”的表达式是:( )A、x%2==0B、!(x%2==0)C、(x-x/2*2)==0D、! (x%2)17、 设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是:( )A、1 0< a < 15B、!(a<=10 || a>=15)C、a>10 && a<15D、!(a<=10) && !(a>=15)18、 已知x=43, ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是:( )A、0B、语法错C、1D、“假”19、 表达式17%4 /8的值为:( )A、0B、1C、2D、320、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是:( )A、无输出B、结果不确定C、-1D、121、 一个可执行的C程序的开始执行点是:( )A. 程序中的第一个语句B. 包含文件中的第一个函数C. 名为main的函数D. 程序中的第一个函数22、 组成C语句的一个必不可少的符号是:( )A. 逗号B. 引号C. 冒号D. 分号23、 若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:( )A. intB. longC. floatD. double24、 下述是C语言中有关变量定义的几个说法,正确的是:( )A. 变量可以不定义直接使用B. 一个说明语句只能定义一个变量C. 几个不同类型的变量可在同一语句中定义D. 变量可以在定义时进行初绐化25、 与x * = y + z等价的赋值表达式是:( )A. x = y + zB. x = x * y + zC. x = x * (y + z)D. x = x + y * z26、 当代电子计算机能够自动地处理指定的问题是因为:( )A.计算机是电动的B.有解决该问题的计算机程序C.事先存储了解决该问题的程序D.以上都不是27、 以下叙述中最准确的是:( )A.计算机程序是处理某一问题所有指令的集合B.计算机程序是处理某一问题所用到的所有数据的集合C.计算机程序是处理某一问题的所有指令及其数据的集合D.计算机程序是处理某一问题的所有指令及其数据的有序集合28、 关于计算机程序设计,以下描述最准确的是:( )A.程序设计就是用语言来编写程序B.程序设计就是用计算机语言来编写程序C.程序设计就是用计算机程序设计语言来编写程序D.程序设计就是用计算机能识别的语言来编写程序29、 目前编写计算机程序一般采用的是:( )A.机器语言 B.汇编语言 C.高级语言 D.英语30、 设计一个计算机程序最基本的工作是:( )A.制定正确的算法 B.选择合理的数据结构C.制定正确的算法和选择合理的数据结构 D.以上都不是31、 算法具有五个特性,以下选项中不属于算法特性的是:( )A.有穷性 B.简洁性 C.可行性 D.确定性32、 下述哪一个不是结构化程序基本结构:( )A.顺序 B.选择 C.循环 D.嵌套33、 C语言是一种:( )A.机器语言 B.汇编语言 C.高级语言 D.以上都不是34、 C语言源程序的扩展名为:( )A..exe B..c C..obj D..cpp35、 C程序编译后最终产生(即计算机执行)的文件的扩展名为()A..exe B..c C..obj D..cpp36、 下列各项中,不是C语言的特点是:( )A.语言简洁、紧凑,使用方便B.程序执行效率高,可移植性好C.能实现汇编语言的大多数功能D.有较强的网络操作功能37、 构成C语言源程序的基本单位是:( ) A.子程序 B.过程 C.文本 D.函数38、 下列叙述正确的是:( )A.C语言源程序可以直接在DOS环境中运行B.编译C语言源程序得到的目标文件可以直接在DOS环境中运行C.C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行D.C语言源程序可以直接在VC++环境中运行39、 某C程序由一个主函数main()和一个自定义函数max()组成,则该程序:( )A.写在前面的函数先开始执行B.总是从main()函数开始执行C.总是从max()函数开始执行D.写在后面的函数先开始执行40、 以下叙述不正确的是:( )A.分号是C语句的必要组成部分B.C程序的注释可以写在语句的后面C.函数是C程序的基本单位D.主函数的名字不一定用mian表示41、 以下为C语句的是:( )A.a=8 B.a++; C.if(a>8) D.#include <stdio.h>以下不是C语句的是:( )A.a=8; B.a++; C.if(a>8); D.for(i=1;i<5;i++)42、 以下所列语句中,合法的语句是:( )A.a=1,b=2 B.++a; C.a=a+1=5 D.y=int(a);43、 C程序中的复合语句指的是:( )A.并列的多个C语句 B.写在同一行中的多个C 语句C.用一对大括号对括的多个C语句 D.就是函数体中的语句44、 当一个很长的C语句(中间无字符串)在一行写不下(超出屏幕的宽度)时,应该:( )A.由系统自动换行 B.立即按回车键换行C.在任意一个空格处按回车键换行D.输入一个分号后并按回车键换行换行45、 在x值处于-2~2,4~8时值为“真”,否则为“假”的表达式是:( )。

《计算机程序设计员三级证书的考试》

《计算机程序设计员三级证书的考试》

《计算机程序设计员三级证书的考试》
《计算机程序设计员三级证书》的考试内容如下:
理论知识部分。

这部分考试内容涉及计算机专业基础知识、计算机应用与开发技术、基本软件和办公软件的高级应用等。

程序设计部分。

这部分考试内容涉及计算机程序设计语言的基本知识和基本应用能力,要求参试者掌握一门计算机语言,如高级语言程序设计类、数据库程序设计类等。

考试形式和成绩评定。

这部分考试形式为闭卷笔试,考试时间为120分钟,成绩评定采用百分制计分,以等第形式公布成绩,成绩等第分为“优秀”、“良好”、“及格”、“不及格”四等。

C语言程序设计课程实验指导书

C语言程序设计课程实验指导书

《C语言程序设计》课程实验指导书第一部分前言一、实验的目的学习C程序设计课程不能满足于“懂得了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。

上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。

程序设计课程上机实验的目的是:1.加深对讲授内容的理解,尤其是一些语法规定。

通过实验来掌握语法规则是行之有效的方法。

2.熟悉所用的操作系统。

3.学会上机调试程序。

通过反复调试程序掌握根据出错信息修改程序的方法。

4.通过调试完善程序。

二、实验前的准备工作1.了解所用的计算机系统(包括C编译系统)的性能和使用方法。

2.复习和掌握与本实验有关的教学内容。

3.准备好上机所需的程序,切忌不编程或抄别人的程序去上机。

4.对程序中出现的问题应事先估计,对程序中自己有疑问的地方应先作上记号,以便上机时给予注意。

5.准备好调试程序和运行程序所需的数据。

三、实验的步骤上机实验应一人一组,独立实验。

上机过程中出现的问题,除了是系统的问题以外,不要轻易举手问老师。

尤其对“出错信息”,应善于分析判断,找出出错的行,然后检查该行或其上一行。

上机实验一般应包括以下几个步骤:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始=>程序=> Microsoft Visual Studio 6.0=> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。

2.单击“文件”菜单的“新建”命令。

3.在打开的“新建”对话框中选择“文件”标签。

4.选择C++ Source File,选择文件保存位置,然后在文件输入栏中输入文件名。

如图所示:5.输入源程序。

C3-三种基本结构的程序设计-2010.10.9更新

C3-三种基本结构的程序设计-2010.10.9更新
2013-8-19 13
[例3.5]根据考试成绩的等级打印百分制分数段。
main() { char grade; clrscr(); printf("input the grade:"); scanf("%c",&grade); switch(grade) { case 'A': printf("85~100\n"); break; case 'B': printf("70~84\n"); break; case 'C': printf("60~69\n"); break; case 'D': printf("<60\n"); break; default: printf("error\n"); } }
3.3.1 if-goto语句构成的循环结构 3.3.2 while语句 3.3.3 do-while语句 3.3.4 for语句 3.3.5 break语句 3.3.6 continue语句 3.3.7 程序举例 返回
2013-8-19 19
3.3.1 if-goto语句构成的循环结构
[例3.9]求S=1+2+…+100的和。 main() { int i,sum=0; clrscr(); i=1; loop: if(i<=100) { sum+=i; i++; goto loop; } printf("SUM=%d\n",sum); }
2013-8-19 16
[例3.8]输入年、月,输出该月天数。
main() {int 年号能被4整除但不能被100整除,或者年号 year,month,days,flag=1; printf("input year,month=?\n"); 能被400整除的年均是闰年。 scanf("%d%d",&year,&month); switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days=31; break; case 4: case 6: case 9: case 11: days=30; break; case 2: if((year%4==0)&&(year%100!=0)||(year%400==0)) days=29; else days=28; break; default: flag=0; printf("month is error\n"); 返回 } if(flag) printf("year=%d,month=%d,days=%d\n",year,month,days); }

程序设计课后习题

程序设计课后习题

7. 8. 9. 10.
输入一个百 百分制的成绩 绩,输出等级 级 A、B、C。85 分及以上 上为 A;84-6 60 分为 B;59 5 分 及以下为 C。 输入一个十 十进制整数,倒序输出对 对应的二进制数 数。
《第 2 章 C 语言基础知识》习题
一、选择题 1. 关于 C 程序第 1 行的包含语句,以下写法中正确的是________。
B.% C.= D.19. 若变量已正确定义并赋值,以下哪个表达式不符合 C 语言语法________。 A.a*b/c B.3.14%2 C.2,b D.a/b/c 20. C 语言中的运算对象必须是整型的运算符是________。 A./ B.= C.>= D.% 21. 当 x=2.5, a=7, y=5.2, 求算术表达式 x+a%3*(int)(x+y)%2 的值为________。 A.2.0 B.2.5 C.3.0 D.3.5 22. 执行以下程序段后,c3 的值是________。 int c1=1,c2=2,c3; c3=c1/c2; A.0 B.2 C.0.5 D.1 23. 设 int n,m; 使 m 为 n 的十进制百位数的语句是________。 A.m = n/100; B.m = n%100; C.m = n/100%10; D.m = n%10/100; 24. 设有定义 char c;且 c 表示一个小写字母,将小写字母转换为对应大写字母的表 达式是________。 A.c - a + A B.c - A + a C.c - 'a' + 'A' D.c - 'A' + 'a' 25. 设有定义:int a=15; 则执行语句:a/=a+a; 后 a 的值是________。 A.0 B.1 C.0.5 D.16 26. 下列哪个不是 C 语言的关系运算符________。 A.>= B.<= C.= D.!= 27. 下列的哪个不是 C 语言的逻辑运算符________。 A.!

专升本C语言程序设计模拟试卷C3

专升本C语言程序设计模拟试卷C3

计算机科学与技术专业《基础知识》模拟试卷三(考试时间150分钟,满分300分,共三部分)第一部分 C语言程序设计(共100分)一、单项选择题(本大题共30小题,每小题2分,共60分)1. 下列各选项中,均是合法有效的标识符的是【】A. 3dayB.lower C.day_3D.abSum_days abcde student_name_oflotus_1_2_3 defaultM.D.john2. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是A.A%2==1B.!(A%2==0)C.!(A%2)D.A%23. 下列程序的输出结果是【】#include <stdio.h>void main(){int x=1,y=0,a=0,b=0;switch(x){case 1:switch(y){case 0: a++; break;case 1: b++; break;}case 2: a++;b++; break;case 3: a++;b++; break;}printf(“%d,%d\n”,a,b);}A.1,1B.2,1C.1,0D.2,24. 以下关于switch语句和break语句的描述中,只有正确的是【】A.在switch语句中必须使用break语句B.在switch语句中,可以根据需要使用或不使用break语句C.break语句只能用于switch语句中D.break语句是switch语句的一部分5. 下面程序的输出是【】。

main(){int x=0x23;printf(“%d\n”,- -x);}A.18B.19C.34D.356. 下列函数的输出结果是【】#include <stdio.h>int f1(int xb){extern int xa;return (xa * xb);}void main(void){extern int xb;int xa=5;printf(“xa=%d,xb=%d,result=%d”,xa,xb,f1(xa));return 0;}int xa=3,xb=4;A. 3,4,12B. 5,4,20C. 5,4,15D. 3,4,157. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是A. 地址传递B. 由实参传给形参,再由形参传回给实参C. 单向值传递D. 由用户指定传递方式8. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其原因是【】void main(){int *p,a;p=&a;scanf(“%d”,*p);……}A.*p表示的是指针变量p的地址B.*p表示的是变量a的值,而不是变量a的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量9. 下列程序段的输出结果是【】。

2022年C语言程序设计教程(第3版) 谭浩强 课件 最新 8

2022年C语言程序设计教程(第3版) 谭浩强 课件 最新 8
程序对文件的操作(读/写)过程如图8.2所 示。进行文件的读写,首先要为文件建立一个相 应的缓冲区。当要向文件写据时,程序先把数据 送到缓冲区,再把数据送到外部设备的指定文件 中;当要从文件读取数据时,也要先把数据送到 缓冲区,再由变量从缓冲区中提取相应的数据。
程序数据区
输入缓冲区 输出缓冲区
外部介质
一般说,二进制文件节省存储空间而且输入输出的速 度快(因为在输出时不需要把数据由二进制形式转换为字 符代码,在输入时也不需要把字符代码先转换成二进制形 式然后存入内存)。如果存入磁盘中的数据只是暂存的中 间结果数据,以后还要调入继续处理的,一般用二进制文 件以节省时间和空间。如果输出的数据是准备作为文档供 给人们阅读的,一般用字符代码文件,它们通过显示器或 打印机转换成字符输出。一般高级语言都能提供字符代码 文件(ASCII文件)和二进制文件,用不同的方法来读写这 两种不同的文件。
f:\\exe3\\file1.txt 文件名是文件的主要标志,它必须符合C语言关于标 识符的规定。 文件名后缀,用于对文件进行补充说明,一般不超过 三个字符,通常用特定的后缀表明文件的类型。例如.txt 表明是纯字符文件,用.c表示是C语言源程序文件, 用.exe表示是可执行文件等。
8.1.3 文件的位置指针与读写方式
fp1 文 件 1 fp2 文 件 2 fp3 文 件 3
的信息
的信息
的信息



8.2.3 文件的打开与关闭——流的创建与 撤销
1. 文件的打开 fopen (文件名,文件操作方式); 说明:
(1)文件名应当包含文件路径、主文件 名和文件后缀,即提供找到文件的有关信 息。
(2)应当理解文件操作用方式的意义。
FILE * fp; char name[20]; int num; float score; if ((fp=fopen(“f:\\C3exe\\file3.txt”,”w”))==NULL) {

c3-中北大学C语言课程第3章-C语言概述

c3-中北大学C语言课程第3章-C语言概述

Ctrl+KV--------块移动
Ctrl+KY-------块删除 Ctrl+KH--------块隐藏
F5-----窗口缩放 F6-----窗口切换

程序调试:
F8-----Step over F4-----Goto Cursor
F7-------Trace into Ctrl+F7--------Add Watch

D 不要用C的保留字作为自定义的标识符。

E 尽量不要用系统中的库函数名作为自定义的标识符。
下面是一些合法的标识符的例子:
sum Total
day
_f2048 file_name a3b06
而下面的标识符则不合法:
99new a-b
W.S.Piter $88 cd#ab @vbase
另外要注意的是:
将词汇组成语言的各种成分(如表达式、语句、定义和
说明等)。
1. 基本字符
一个C程序也可以看成是由C语言的基本字符按
C
一定的规则组成的一个序列。C语言中使用的基本
语 字符包括:

程 数字字符:0~9;
序 大小写拉丁字母:a~z,A~Z; 设 其他可打印(可显示)字符: ! # % ^ & * 计 + = 等;
C main( ) /*是C语言程序的标志,有且仅有一个的主函数 */
语{
言 int a,b,c; /*关键字“int”定义变量类型*/
程 a=5;
序 b=3; c=a*b;
/*赋值操作*/
设 printf("This is a C program!");/*将双引号中字符原样输出*/

c3-数据类型

c3-数据类型

-----数据类型数据是程序加工、处理的对象,也是加工的结果,所以数据是程序设计中所要涉及和描述的主要内容。

所有程序设计语言都有各种数据类型 c 语言的数据类型很丰富 在学习程序设计的过程中,我们将要不断地与数据类型打交道。

常量与变量在C 语言中,任何数据对用户呈现形式有两种:常量或变量。

而无论常量还是变量,都必须属于各种不同的数据类型。

1.常量常量是指程序在运行过程中其值不能改变的量整形常量数据类型基本类型整数型 . . int实数型 . . (浮点型) 字符型 . . char单精度型 . . float双精度型 . . double指针类型构造类型数组型结构型联合型 枚举型无值类型(空类型). .void数值常量字符常量整型常量实型常量 字符常量字符串常量8 9实型常量2.63 -5.6字符常量…A‟字符串常量“abcdefg”2.变量变量:就是在程序运行过程中其值可以改变的量本质上就是具有特定属性的一块存储空间,有时也称为存储单元(这里存储单元的大小不一定是1字节,由变量类型决定。

和前面讲的存储单元的含义不一样)C语言中规定变量必须先定义,后使用类型标识符变量名1,变量名2,...;其中类型标识符有int ,double,float ,char 等等例如下面一段的代码:double a;double A;char x,y;float m,n;变量名要遵循用户标识符命名规则:1必须以英文字母(a~z, A~Z)或下划线(_)开头,不能以数字开头,并且中间不能使用空格2必须由字母数字下划线组成大小写不同表示不同意义3变量名不要和C语言本身使用的保留字(或关键字)相同.关键字:系统提供给我们使用的一些系统自带的单词int float double if else switch case给变量命名的时候尽量起有意义的名字int max;int count;整型数据1. 整型常量(整常数)三种形式:十进制整数:由数字0~9和正负号表示.如123,-456,0八进制整数:由数字0开头,后跟数字0~7表示.可以有正负号。

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d ",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整for(i=2;i<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d ",n);}printf("\n");}7. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5);}8. #include<stdio.h>#include<math.h>const int M=20;void main(){int i,s;for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue;printf("%d ",i);s+=i;}printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案:1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。

C语言题库(填空题部分)

C语言题库(填空题部分)

二、填空题1 、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用 ________ 函数来实现。

答案: 1: fopen#fopen()#fopen ()知识点:知识点/基本理论/C11文件/C11_2文件函数2 、C语言中文件操作结束节后,必须关闭文件。

而且关闭文件是通过调用 __________ 函数来实现。

答案: 1: fclose#fclose()#fclose ()知识点:知识点/基本理论/C11文件/C11_2文件函数3、字符串函数________用于从指定的磁盘文件中读出一个字符串。

答案: 1: fgets#fgets()知识点:知识点/基本理论/C11文件/C11_2文件函数4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。

答案: 1: fputs#fputs()知识点:知识点/基本理论/C11文件/C11_2文件函数5、字符读写函数____________ 是用于从磁盘文件中读出一个字符。

答案: 1: fgetc#fgetc()#getc#getc()知识点:知识点/基本理论/C11文件/C11_2文件函数6、字符读写函数____________ 是用于把一个字符写入磁盘文件。

答案: 1: fputc#fputc()#putc#putc()知识点:知识点/基本理论/C11文件/C11_2文件函数7、共用体类型变量的定义关键字是 ________ 。

答案: 1: union知识点:知识点/基本理论/C10共用体与枚举类型8、定义枚举类型时采用的关键字是 __________。

答案: 1: enum知识点:知识点/基本理论/C10共用体与枚举类型9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和 ____________ 函数。

答案: 1:有参知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T10、在C语言中,函数的返回值是由 ___________语句传递的。

C3数据类型与运算规则

C3数据类型与运算规则

若 int a=5,b;
b=(a++)+(a++); b= 10 a= 7
b=(++a)+(++a); b=(--a)+(a--);
b= 14 a= 7 b= 8 a= 3
34
自增、自减运算(4)
关于++,--
在一行语句中最好只出现一次++,--,多了可读 性会很差;
C语言中允许编译程序自由重排表达式的顺序, 以产生最优代码,因此语句过于复杂时,采用 不同的编译程序编译时,可能会产生不同的运 算结果。
3
3.1 数据与数据类型(2)
数据:是程序加工、处理的对象,也是加工的结果; 数据类型:具有同样性质(能够作同样的操作,采用
同样的编码方式等)的数据集合称为数据类型; 每种数据类型都有固定的表示方式,也就确定了可能
表示的数据范围和在内存中的存放形式; C语言为每个类型定义了一个标识符,称为类型名,如
C语言程序设计
(三)
计算机学院 裴明涛

1
第三章 数据类型与运算规则
3.1 数据与数据类型 3.2 C语言的基本数据类型及其表示 3.3 算术运算与赋值运算 3.4 位运算 3.5 其他运算 3.6 混合运算及数据类型转换
2
3.1 数据与数据类型(1)
如何描述上述表达式中的数据、运算符号和运 算过程?
先说明,再赋值;
int x,y; x = 10, y = 30;
说明变量的同时对变量赋初值;
int x = 10,y = 30;
不初始化会怎样?
24
3.3 算术运算与赋值运算
C语言中的运算规则 算术运算符与算术表达式 自增、自减运算 赋值运算符和赋值表达式 组合赋值运算符和组合赋值表达式

C语言程序设计第三版-谭浩强习题答案集

C语言程序设计第三版-谭浩强习题答案集

C程序设计第三版课后习题答案全解1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);print f(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

程序设计基础(C语言)第3版习题及答案

程序设计基础(C语言)第3版习题及答案

第1章C语言概述【习题1-1】简述C语言的特点。

答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。

【习题1-2】简述上机调试运行C程序的操作步骤。

答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。

【习题1-3】上机运行本章的3个例题。

答:略。

【习题1-4】请从以下的4个选项中选择一个正确答案。

(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。

答:略。

【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言11.1什么是计算机程序11。

2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4。

2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf (”**************************\n\n"); printf(" Very Good!\n\n”);p rintf (”**************************\n”); return 0;}1-6#include <stdio。

h〉int main(){int a,b,c,max;printf("please input a,b,c:\n”);scanf(”%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max〈c)max=c;printf(”The largest number is %d\n",max);return 0;}第2章算法—-程序的灵魂162。

1什么是算法162。

2简单的算法举例172.4.2用流程图表示算法222。

4。

3三种基本结构和改进的流程图262。

4.4用N S流程图表示算法282。

4。

5用伪代码表示算法312。

4.6用计算机语言表示算法322。

5结构化程序设计方法34习题36第章最简单的C程序设计-—顺序程序设计37 3。

1顺序程序设计举例373。

2数据的表现形式及其运算393。

2.1常量和变量393。

2。

2数据类型423.2。

3整型数据443。

2。

4字符型数据473。

2.5浮点型数据493。

2。

6怎样确定常量的类型513。

2.7运算符和表达式523.3C语句573.3。

1C语句的作用和分类573。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《程序设计语言 C1》随机作业题做作业时间:2013-5-2 8:00:00至2013-6-30 22:00:001、下列程序执行后输出的结果是#include 〈stdio.h〉f(int a){ int b=0;int c=3;a=c+ +,b+ +;return(a);}main( ){ int a=2,i,k;for(i=0;i〈2;i+ +)k=f(a+ +);printf("%d\n",k);}(3分)AA、B、C、D、A、3B、0C、1D、42、请读程序:#includevoid FUN(int S[]){ static int J=0;do{S[J] +=S[J+1];}while( ++J<2);}main(){ int K, A[10]={ 1,2,3,4,5};for( K=1;K<3;K++) FUN(A);for (K=0;K<5;K++) printf("%d",A[K]); }上面程序输出结果是(3分)CA、B、C、D、A、34756B、23445C、35745D、 123453、下列程序执行后输出的结果是#include 〈stdio.h〉f(int a){ int b=0;int c=3;a=c+ +,b+ +;return(a);}main( ){ int a=2,i,k;for(i=0;i〈2;i+ +)k=f(a+ +);printf("%d\n",k);(3分)AA、B、C、D、A、3B、0C、1D、44、下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!";void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0;func1(3分)CA、B、C、D、A、helloB、helC、hloD、hlm5、以下程序的输出结果是int d=1;fun(int p){ d = d+p;printf("%d ",d);return(d);}main( ){int a=3;printf("%d \n",fun(a+fun(d)));}(3分)CA、B、C、D、A、2 6B、1 7 7C、2 7 7D、1 66、C语言函数的隐含存储类别是______. (3分)DA、B、C、D、A、externB、staticC、registerD、auto7、下列关于存储类型说法正确的是( )(3分)CA、B、C、D、A、register型变量的个数不限B、static型变量并不长期占用内存,其存储空间可被覆盖C、extern型变量一般用于在程序的多个编译单位间传递数据D、auto型变量长期有效8、在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则变量需要使用的存储类别是_____。

(3分)BA、B、C、D、A、autoB、staticC、registerD、extern9、C语言中____函数的递归调用。

(3分)AA、B、C、D、A、允许B、不允许C、由用户自己而定D、不确定10、C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(3分)BA、B、C、D、A、地址传递B、单向值传递C、由实参传给形参,再由形参传回给实参D、由用户指定的传递方式11、以下程序有语法错误,有关错误原因的正确说法是main(){ int G=5,k;void prt_char();...k=prt_char(G);...}(3分)CA、B、C、D、A、语句 void prt_char();有错,它是函数调用语句,不能用void说明B、变量名不能使用大写字母C、函数说明和函数调用语句之间有矛盾D、函数名不能使用下划线12、以下正确的描述是:在C语言程序中(3分)BA、B、C、D、A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用均不可以嵌套D、函数的定义和函数的调用均可以嵌套13、若用数组名作为函数的实参,传递给形参的是(3分)AA、B、C、D、A、数据的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数14、若使用一维数组名作函数实参,则以下正确的说法是(3分)AA、B、C、D、A、必须在主调函数中说明此数组的大小B、实参数组类型与形参数组类型可以不匹配C、在被调用函数中,不需要考虑形参数组的大小D、实参数组名与形参数组名必须一致15、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是(3分)BA、B、C、D、A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定16、以下所列的各函数首部中,正确的是(3分)CA、B、C、D、A、void play(var :Integer,var b:Integer)B、void play(int a,b)C、void play(int a,int b)D、Sub play(a as integer,b as integer)17、有如下程序段:int *P,a=10,b=1;P=&a;a=*P+b;执行该程序段后,a的值为( )。

(3分)BA、B、C、D、A、12B、11C、10D、编译出错18、若有说明:int n=2,*P=&n,*q=p;,则以下非法的赋值语句是( )。

(3分)DA、B、C、D、A、P=qB、*P=*qC、n=*qD、P=n19、以下程序的输出结果是( )。

#includefun(int a,int b,int c){c=a*b:}main(){int c;fun(2,3,c);printf(”%d\n”,c);}(3分)DA、B、C、D、A、0B、1C、6D、无定值20、有如下程序:#includeint max(x,y)int x,y;{int z;if(x>y)z=x;else z=y;return(z);}main(){extern int a,b;printf(”max=%d\n",max(a,b));}int a=3,b=5;运行结果为( )。

(3分)CA、B、C、D、A、max=3B、max=4C、max=5D、max=621、c语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是( )。

(3分)CA、B、C、D、A、地址传递B、由实参传给形参,并由形参返回给实参C、值传递D、由用户指定传递方式22、在c语言程序中( )。

(3分)DA、B、C、D、A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义和调用均可以嵌套C、函数的定义和调用均不可以嵌套D、函数的定义不可以嵌套,但函数的调用可以嵌套23、c语言中形参的默认存储类别是( )。

(3分)AA、B、C、D、A、自动(auto)B、静态(static)C、寄存器(register)D、外部(extem)24、以下函数调用语句中,含有的实参个数是( )。

fun(x+y,(e1,e2),fun(xy,d,(a,b)));(3分)AA、B、C、D、A、3B、4C、6D、825、请选择下列程序的运行结果( )。

#includetry(){static int x=3:x++:return(x);}main(){int i,x;for(i=0;i<=2;i++)x=try();printf(”%d\n”,x);}(3分)DA、B、C、D、A、3B、4C、5D、6《程序设计语言 C1》固定作业题。

相关文档
最新文档