{int i,j,m=55; for(i=1;i<=3;i++) for(j=3;j<=i;j++) m=m%j; printf(\}程序的运行结果是
A)0 B)1 C)2 D)3
5.以下程序的输出结果是________. #include
{ int n=12345,d;
while(n!=0){ d=n; printf(\}
6.有以下程序段,且变量已正确定义和赋值 for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf(\
请填空,使下面程序段的功能为完全相同 s=1.0;k=1;
while(_[10]_______){ s=s+1.0/(k*(k+1)); _[11]_______;} printf(\
7. 当执行以下程序时,输入1234567890<回车>,则其中while循环体将执行______次。 #include
While((ch=getchar())==?0?) printf(“#”);}
8. 以下程序的运行结果是 m=4 k=4 i=5 k=5 。 int k=0; void fun(int m)
{ m+=k; k+=m; printf(“m=%d\\n k=%d ”,m,k++);} main() { int i=4;
fun(i++); printf(“i=%d k=%d\\n”,i,k); }
(9) 以下程序的运行结果是 _______ 。 main()
{int a=2,b=7,c=5; switch(a>0)
{ case 1:switch(b<0)
{case 1 :switch(“@”); break; Case 2 : printf(“!”); break; }
case 0: switch(c==5)
{ case 0: printf(“*”); break; case 1: printf(“#”);
break; case 2: printf(“$”); break; }
default : printf(“&”); } printf(“\\n”); }
第二部分:上机题
1.编写程序,求1.s=1+2+3+4……+n; 2.s=1-2+3-4+5-6+……(-1)n-1n 3.s=1/1+1/2+1/3…….1/n; 4.s=1-1/2+1/3-1/4……(-1)n-1/n;
5.s=1/1+1/(1+2)+1/(1+2+3)+……1/(1+2+3+…..n); 6.s=n!
7.s=12+22+32+……+n2
8.s=1/12+(1+2)/ 22+(1+2+3)/
32+……(1+2+3+…n)/n2
9.s=1/1!+(1+2)/2!+(1+2+3)/3!+……+(1+2+3+……n)/n!
…….
2.编写程序:求出在500----800之间,能被3或7整除的,并且不能同时被3和7整除的数,按每行10个输出。
3.编写程序,计算给定的正整数n的所有因子(不包含1和自身)的和。(规定n的值大于1000)
4.通过键盘输入一个整数n,求出能整除n的,且不是偶数的各个整数之和s,输出结果!
第六章字符类型数据 知识要点:
第 13 页 共 38 页
一:字符常量
1.C语言中,一个字符常量代表ASCII字符集中的一个字符,在程序中有单引号把一个字符括起来作为字符常量.
'A' 65 'a' 97 'b' 'c'
2.说明:1)单引号中,大小写字母代表不同的字符常量.
2)' '也是一个字符常量,但不能写成两个连续的单引号.
3)字符常量只能 包含一个字符.
4)字符常量在内存中占一个字节,作为整型量来处理.
对应的整型数值就是ASCII字符集中该符号的序号.
字符表(ASCII表附录3) 二:转义字符常量:
1)转义字符常量只代表一个字符.
2)反斜线后的八进制数可不用0开头,十六进制可由小写x开头,但不准许大写字母X或0x开头. 3)转义字符表 字符功能 形式 \\n \\t \\v \\r 回车换行 横向跳若干格(Tab) 竖向跳格 字符形式 \\\\ \\? \\” 反斜杠字符\\ 单引号字符 双引号字符 回车符(本行开头) \\ddd 三位八进制代表的一ASCII符 \\f 换页符 \\xhh 个 字功能 \\b 退格符(Backspace) \\0 空值,其ASCII码位0 三:字符串常量 1.字符串常量是由双引号括起来的一串字符. 2.在C语言中,系统在每个字符串的最后自动加入一个字符'\\0'作为字符串的结束标志,'\\0'占一个字节,在写字符串时不必加,系统会自动添加. 四:各类数值型数据之间混合运算. 1.\代表等价的意思. 2.运算作用: 1)大小写字母转换:
'A'+32==65+32==97='a'
2)数字字符和整数之间的相互转换 '9'-'0'==57-48==9 '0'+9==48+9=57='9' 3)关系运算和逻辑运算 'a'<'b' 'a'&&'b' 五:字符变量:
1.字符变量用关键字char定义,在定义同时赋初值.
例如:char ch1='A',ch2='B';
2字符变量在内存中占一个字节,其中只能存放一个字符,把字符放入该变量后,字符变量的值就是该字符的ASCII代码值.
第二节:输入输出函数
一:调用printf哈scanf函数输入和输出字符. 1.printf函数:
1)c格式字符,用来输入一个字符(包括转义字符) 例如:char ch='c';printf(\
2)一个整数,只要它的值在0--255范围内,也可以用字符形式输入;反之,一个字符类型数据也可以用整数形式输出. 例如:main() {char ch='a';int i=97;
printf(\3)可以进行大小写字母转换. 例如:main() {char ch1,ch2;
二位十六进制代表的一个 ASCII字符 第 14 页 共 38 页
ch1='a'; ch2='b';
ch1=ch1-32;ch2=ch2-32; printf(\}
2.scanf函数
1)当用%c格式输入字符,无须间隔符,在这里,回车、空格、tab、 转义字符都是有效字符(以下例外)
scanf(\ %c %c\
此时,空格、tab、回车、都作为间隔符不能被读入。 二:调用putchar和getchar函数输出和输入字符。 1.使用putchar和getchar函数输出和输入字符时候,必须要用头文件。
2.putchar函数的作用是向终端输出一个字符:putchar(ch); 例如: main() {char a,b,c; a='B';b='0';c='Y';
putchar(a);putchar(b);putchar(c); }
3.gechar函数的作用是从终端输入一个字符,形式为:
ch=getchar();按回车字符才可以送入: 例如
#include \main()
{char ch;ch=getchar();putchar(ch);}
第三节:程序举例
1.输出26个大写字母和他们的ASCII代码。每行输出两组数据。
2.从终端输入一行所有的小写字母转换为大写字母,其他字符不变;
3.编写程序统计输入的字符中,空格,回车符,和横向跳格(Tab)符的个数。 二:练习部分《考点分析》
1. 关于字符常量下面说法正确的是_______
A单引号中的大小写代表着相同的字符常量。 B空格不是一个字符常量
C字符常量能包含大于一个的字符 D所有字符常量都作为整型量来处理。
2. 关于字符串常量,下面叙述正确的是_______ A字符串常量是用双引号括起来的一串字符,字符数量一定大于1
B在printf和scanf函数中的”%d%d”也是字符串常量。 C对于”lzhm”这个字符串,其在内存中所占字节数为4 D空串不占内存。
3. 关于字符量的运算,以下说法错误的是_______ A在C语言中,字符量和整数的内存形式是一样的 B在C语言中,字符量可以参与关系运算,
C对于表达式‘a’<98,因为类型不同,从而无法比较。 D在C语言中,字符量可以参与逻辑运算。 4. 关于字符变量,下面表达是正确的是________ A字符变量和字符串变量都是用关键字char说明 B将一个字符赋给一个字符变量时候,是将该字符对应的ASCII码存储到内存单元中, C字符数据只能用于字符运算。
D一个字符能用整数的形式输出,但一个整数不能用字符的形式输出。
5. 若int 类型数据占两个字节,则下列语句的输出结果
为_______
int k= -1; printf(“%d,%u\\n”,k,k);
A-1,-1 B-1,32767 C -1,32768 D-1, 65535 6.下面的输出结果是____
A 0 B 变量无定义C -1 D 1 第二部分:上机题
1. 编写程序,输出26个小写字母和他们的ASCII代码,
每行输出三组数据。
2. 编写程序,从终端输入一行字符,统计大写字母出现
的个数,并把所有大写字母转换为小写字母,最后输出大写字母出现的次数和转换后的小写字母。 3. 编写程序,统计输入的行数,用!号结束输入,!号
所在行不记入行数。
4. 编写程序统计输入一行字符中,小写字符的个数。 5. 编写程序输出下面的图形! E
第 15 页 共 38 页
D D D C C C C C B B B B B B B A A A A A A A A A
函数返回值的类型名 函数名(类型名 形式参数1,类型名 形式参数2,....) /*函数首部*/ { 说明部分
/*函数体*/ 语句部分
} 如:int abs(int x)
2).旧版本:略
3).函数名和形式参数都是由用户命名的标识符,在同一程序中,函数名必须唯一;形式参数名只要同一函数中唯一即可.可以与其他函数中的变量同名.
4)C语言规定,不能在一个函数的内部在定义函数.
5)若在函数的首部省略了函数返回值的类型名,返回函数的首部写成: 函数名(类型名 形式参数1,类型名 形式参数2....)
C语言默认返回值类型为int 类型. 例如:编写求两个双精度数之和的函数.
double add (double a,double b) {double s; s=a+b; return s;}
6)函数体中,除形式参数外,用到的其他变量必须在说明部分进行定义,这些变量(包括形参),只在函数被调用时才临时开辟存储单元,当退出函数时候,这些临时开辟的存储单元全部被释放,因此,这种变量只在函数体内部起作用,与其他函数中的变量互不相关,他们可以和其他函数中的变量同名.全部被释放,因此,这种变量只在函数体内部起作用,与其他函数中的变量互不相关,他们可以和其他函数中的变量同名。
三:函数的返回值:
1)函数的值通过return语句返回.return 语句的形式如下:
return 表达式; 或 return (表达式); 或return ; 2)说明:
1.1 return 语句中的表达式的值就是所求的函
第 16 页 共 38 页
第七章函数
知识要点:
第七章函数
第一节函数的定义和返回值 一:库函数;
1.一个C语言源程序无论包含多少函数,C程序总是从main函数开始执行.
2.调用C语言标准库函数的要求的include命令; 1)用户在源程序include命令中应该包含头文件. #include
include命令必须用#开头,系统提供的头文件以.h作为文件的后缀,文件用\或 < >括起来. 2)include 命令不是C语句,因此不能在最后加分号.
3.标准库函数的调用:
1)一般调用形式为:函数名(参数表) scanf(\putchar(ch); ch=getchar();
2)库函数的调用形式可以两种形式出现: A) 出现在表达式中: y=pow(x,2)=5;
B)作为独立的语句完成某种操作:printf(\
*数学函数:调用数学函数时,要求在源文件中包含#include
**字符函数和字符串函数:调用字符函数时候,要求在源文件中包含头文件\
调用字符串时候,要求在源文件中包含头文件\
***输入输出函数:在调用输入输出函数时,要求在头文件中包含\二:自定义函数的定义:
1)C语言函数定义的一般形式为: