搜档网
当前位置:搜档网 › C语言第四章基础练习题

C语言第四章基础练习题

C语言第四章基础练习题
C语言第四章基础练习题

第四章基础练习题

知识点:

1、C语句可分为以下五类:

1>表达式语句:由表达式加上分号“;”组成

2>函数调用语句:由函数名、实际参数加上分号“;”组成。其一般形式为:函数名(实

际参数表);

3>控制语句:有九种控制语句。可分成以下三类:

条件判断语句:if语句、switch语句;

循环执行语句:do while语句、while语句、for语句;

转向语句:break语句、goto语句、continue语句、return语句。

4>复合语句把多个语句用括号{}括起来组成的一个语句,在程序中应把复合语句看成是单

条语句,而不是多条语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。

5>空语句

2、putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。

其一般形式为:putchar(字符变量)

对控制字符则执行控制功能,不在屏幕上显示。

3、getchar函数的功能是从键盘上输入一个字符。其一般形式为: getchar();

通常把输入的字符赋予一个字符变量,构成赋值语句,

getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。

4、printf函数称为格式输出函数。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 printf函数调用的一般形式为:

其中格式控制字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以% 开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等

非格式字符串在输出时原样照印,在显示中起提示作用。

在Turbo C

类型:类型字符用以表示输出数据的类型,其格式符和意义如下表所示:

标志:标志字符为-、+、#、空格四种,其意义下表所示:

输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

5.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

练习1:main()

{ int a=15; float b=123.1234567;

double c=12345678.1234567;

char d='p';

printf("a=%d,%5d,%o,%x\n",a,a,a,a);

printf("b=%f,%lf,%5.4lf,%e\n",b,b,b,b);

printf("c=%lf,%f,%8.4lf\n",c,c,c);

printf("d=%c,%8c\n",d,d); }

5、scanf函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。scanf函数的一般形式为:

其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提

类型:表示输入数据的类型,其格式符和意义如下表所示。

“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

如: scanf("%d %*d %d",&a,&b);

当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。

宽度:用十进制整数指定输入的宽度(即字符数)。

长度:长度格式符为l和h,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。

h表示输入短整型数据。

使用scanf函数还必须注意以下几点:

scanf函数中没有精度控制,scanf中要求给出变量地址,在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格、TAB 或回车作间隔。在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。

例如: scanf("%c%c%c",&a,&b,&c);

输入为: d e f

则把'd'赋予a, ' ' 赋予b,'e'赋予c。

如果格式控制串中有非格式字符则输入时也要输入该非格式字符。

例如:scanf("%d,%d,%d",&a,&b,&c);

其中用非格式符“ , ”作间隔符,故输入时应为:

5,6,7

如输入的数据与输出的类型不一致时,虽然编译能够通过,但结果将不正确。

练习

一、选择题:

1、设整型变量a的值为20,则语句printf(“%x”,a);的输出结果是(B )。

(A) 20 (B) 14 (C) 014 (D) 0x14

设有整型变量a、b和c,调用标准输入函数scanf(“%f %f %f”,&a,&b,&c)从键盘上读入实型

2、变量a、b和c的值,则下列输入格式不正确的是(B )。

(A) 10 (B) 10,20,30 (C) 10.0 (D) 10.0 20.0

20 20.0 30.0 30.0

30

3、设整型变量a的值为–1,则语句printf(“%d,%u\n”,a,a);的输出结果是(D)。

(A) –1,-1 (B) –1,32767 (C) –1,32768 (D) –1,65535

4、已知i、j、k是int型变量,设从键盘输入数据1,2,3<回车>使i的值是1、j的值是2、k的值是3,以下选项中正确的输入语句是(C )。

(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);

5、putchar函数可以向终端输出一个:(D)A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值

6、printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(B)

A)从左起输出该字串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字串,左补空格D)输出错误信息

7、若x ,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是:(BD)

A) scanf(" %d%lx,%le",&x,&y,&z); B) scanf("%2d * %d%lf"&x,&y,&z );

C) scanf("%x %* d%o",&x,&y); D) scanf("%x%o%6.2f",&x,&y,&z);

8、阅读以下程序,当输入数据的形式为:25,13,10(注:表示回车),则正确的输出结果为 D 。

main()

{ int x,y,z;

scanf(“%d%d%d”,&x,&y,&z);

printf(“x+y+z=%d\n”,x+y+z);}

A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值

9、已知ch是字符型变量,下面正确的赋值语句是 A 。

A) ch=…a+b?; B) ch=…\0?; C) ch=…7?+…9?;D) ch=5+9;

10、下列语句中,符合语法的语句是( D )

A) a+b=3 B) a=7 C) a=c+d+5=6 D)a=8,b=a+7;

11、下述程序段的输出是( C )

#include

void main( )

{ int a=012,b=012;

printf(“%x, %o”,++a,b++);}

A) 13, 12 B) 13, 13 C) b, 12 D) b, 13

12、以下程序的输出结果是( D )

#include

main( )

{ int x=010, y=5;

printf(“x=%d, y=%%d”,x,y,);}

A) x=10, y=5 B) x=%2, y=%3 C)x=%%d, y=%%d D) x=8, y=%d

13、以下程序段的输出结果是(C )

#include

main( )

{ int a=1234;

float b=123.456;

double c=12345.54321;

printf(“%2d, %2.1f, %2.1lf”,a,b,c); }

A) 输出格式中位数不够,无输出B) 输出结果为12, 12.4,12.5

C) 输出结果为1234, 123.5,1234.5 D) 输出结果为1234,123.4,1234.5

14、若使用下述程序段将整数12和浮点数13.6分别赋给变量a 和b,那么输入应该是( B ) int a;

float b;

scanf(“a=%d, b=%f”,&a, &b);

A) 12 13.6 B) a=12, b=13.6 C) 12, 13.6 D) a=12 b=13.6

15、若x 为float 型变量,则以下程序段的结果是( B )

x=1234.6789;

printf(“%-2.1f”,x);

A) 输出格式描述符域宽度不够,不能输出B) 输出为1234.7

C) 输出为1234.6 D) 输出为-1234.6

16、对下面的程序说法正确的是( C )

main( )

{int x=3,y=0,z=0;

if(x=y+z)

printf(“***”);

else

printf(“###”);

}

A)有语法错误,不能通过编译 B) 输出为***

C) 输出为### D) 通过编译,但是不能通过连接,因而不能运行

17、以下哪个不是正确的C语言赋值语句( D )

A) a=a+1; B) i++; C) a*=1,b=8; D) a=3

18、下面的程序运行结果为( B )

#include

main( )

{int i=2;

float y=5.4;

i=i*(5%i)+’B’;

printf(“%c\n”,i);

i=(int)y;

printf(“y=%f, i=%d\n”,y,i);}

A) D B) D C) D D) d

Y=5.4, i=5 Y=5.400000, i=5 Y=5.400000 , i=5 Y=5.400000 , i=5 19、下面的程序运行结果为( C )

#include

main() {int a,b,c;

a=b=c=5;

a-=(b%=2)+(c-=1);

printf(“%d, %d, %d\n”,a,b,c);}

A) 0 1 4 B) -1 2 4 C) 0, 1, 4 D) –1, 2, 4

20、下面的程序运行结果为( B )

#include

main( )

{char c1,c2;

c1=?a?;

c2=?\n?;

printf(“%c%c”,c1,c2);}

A) aa B) a C) a\n D) \n\n

21、下列程序的运行结果为( C )

#include

#include

main()

{int a=1,b=4,c=2;

float x=5.5,y=9.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x;

printf(“%f\n”,z);}

A) 数据溢出B) 9.3 C) 9.300000 D) 0.93

22、执行下面程序中的输出语句后,a的值为( A )

main( )

{int a;

printf(“%d\n”,(a=65,20,15));}

A) 65 B) 20 C) 15 D) 10

二、填空题

1、若有定义语句“int a=25,b=14,c=19;”,以下语句的执行结果是()。if(a++<=25&&b--<=2&&c++) printf("***a=%d,b=%d,c=%d\n",a,b,c);

else printf("###a=%d,b=%d,c=%d\n",a,b,c);

2、若有以下说明和输入语句,要求给c1,c2输入字符A和B,给a1,a2输入7.29和101.298,从键盘正确输入数据的形式是()。

char c1,c2;

float a1,a2;

scanf("%f%f",&a1,&a2);

scanf("%c%c",&c1,&c2);

3、以下程序的执行结果是()。

main()

{ short i=-1;

printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",i,i,i,i); }

4、以下程序的执行结果是()。

main()

{ short i=1;

printf("dec:%d,oct:%o,hex:%x,unsigned:%u\n",i,i,i,i); }

5、以下程序的执行结果是()。

#include

main()

{ char c='A';

printf("dec:%d,oct:%o,hex:%x,ASCII:%c\n",c,c,c,c); }

6、以下程序的执行结果是()。

#include

main()

{ float f=3.1415927;

printf("%f,% 5.4f ,% 3.3f ",f,f,f); }

7、以下程序的执行结果是()。

#include

main()

{ float f=3.5;

printf("%f,%g",f,f); }

8、以下程序的执行结果是()。

#include

main()

{ float f=31.41532;

printf("%f,% 2.3f ",f,f); }

9、以下程序输入1 2 3后的执行结果是()。#include

main()

{ int a,c; char b;

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

printf("a=%d,b=%c,c=%d\n",a,b,c); }

10、以下程序输入123456后的执行结果是()。#include

main()

{ int a,b;

scanf("%2d%3d",&a,&b);

printf("a=%d,b=%d\n",a,b); }

11、以下程序输入ABC后的执行结果是()。

#include

main()

{ char c;

scanf("% 3c ",&c);

printf("c=%c\n",c); }

12、以下程序输入100后的执行结果是()。

#include

main()

{ int n;

scanf("%o",&n);

printf("n=%d\n",n); }

13、以下程序输入x=1.23,y=50后的执行结果是()。

#include

main()

{ float x,y;

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

printf("x=% 7.2f ,y=% 7.2f \n",x,y); }

14、若有以下定义,写出以下程序段中输出语句执行后的输出结果。

int i=-200,j=2500;

printf("%d %d",i,j); 输出结果是()。

printf("i=%d,j=%d,i,j);输出结果是()。

15、以下程序段的输出结果是()。

int x=0177;

printf("x=%3d,x=%6d\n",x,x);

16、以下程序段的输出结果是()。

int x=0177;

printf("x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%%06d\n",x,x,x,x,x);

17、a=b或a4用C语言表达式表示为()。

三、编程题:

1、从键盘上输入一个三位数的整数,要求按逆序打印出各位数字。

2、从键盘上输入一个整数,要求打印对应的八进制数和十六进制数。

3、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist”。

4、编程计算1-100之间的奇数和与偶数和

5、输入10个学生的成绩,求出它们的平均成绩并将低于平均成绩的分数打印出来。

C语言基础练习题(含答案)Word版

第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。B A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C语言标识符的是()。B A.abc123 B.no.1 C._123_ D._ok 3. 正确的C语言标识符是()。A A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。B A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是()。B A.\\ B.\0xAA C.\t D.\0 6. 不属于C语言关键字的是()。d A.int B.break C.while D.character 7. 是C语言提供的合法关键字的是()。b A.Float B.signed C.integer D.Char 8. 以下不能定义为用户标示符的是()。b A.scanf B.Void C._3com_ D.int 9. 一个C程序是由()。 b A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 c A.程序行 B.语句 C.函数 D.字符 11. 下列说法中,错误的是()。 a A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用 D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是()。 c A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行

大学c语言复习题附答案

判断题 1.运算器是完成算术和逻辑操作的处理部件,通常称为CPU。× 2.通常硬盘安装在主机箱内,因此它属于主存储器。× 3.指令与数据在计算机内是以ASCII码进行存储的。× 4.操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集 合。√ 5.用计算机机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过 编译才能执行。√ 6.计算机的所有计算都是在内存中进行的。× 7.字长是指计算机能直接处理的二进制信息的位数。√ 8.计算机区别于其他计算工具的本质特点是能存储数据和程序。√ 9.系统软件就是市场上买来的软件,应用软件就是自己编写的软件。× 10.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、小写英文字母、大 写英文字母。× 11.多台计算机相连,就形成了一个网络系统。× 12.在Internet网上,IP地址、E-mail地址都是唯一的。√ 13.不同类型的变量在内存中占用存储空间的大小都是一样的。× 14.表示数学式3

c语言程序基础练习题00道(附答案)

1.下列四组选项中,均不是C语言关健字的选项是( A )。 A) define B) gect C) include D) while IF char scanf go type printf case pow 2.下面四个选项中,均是合法整型常量的选项是( A )。 A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x 3.下面四个选项中,均是不合法的转义符的选项是( B )。 A) '\"' B) '\1011' C) '\011' D) '\abc' '\\' '\' '\f' '\101' 'xf' '\A' '\}' 'x1f' 4.下面不正确的字符串常量是( A )。 A)'abc' B)"12'12" C)"0" D)" " 5.以下选项中不合法的用户标识符是( A )。 A)abc.c B)file C)Main D)PRINT 6.C语言提供的合法关键字是( D )。 A) swith B) cher C) Case D)default 7.下列标识符组中,合法的用户标识符为 A A)_0123与ssiped B)del-word与signed C)list与*jer D) keep%与wind 8.在C语言中,逻辑值"真"的表示是用( C )。 A) true B) 整型值0 C)非另整型值 D) T 9若有以下定义 char s='\092'; 则该语句( b ) A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符 10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。 A)1 B)2 C)8 D)4 11已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3'后,c2中的值为( A )。 A)D B)68 C)不确定的值 D)C 12逻辑运算符两侧运算对象的数据类型是 ( D )。 A) 只是0或1 B) 只能是0或非0正数 C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据 13TURBO C中int类型变量所占字节数是( B )。

数据结构C语言版第四章 串

第四章串 重点难点 理解"串"类型定义中各基本操作的特点,并能正确利用它们进行串的其它操作;掌握串类型的各种存储表示方法;理解串的两种匹配算法。 典型例题 1、简述下列每对术语的区别: 空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串;【解】 (1)空串是指不包含任何字符的串,它的长度为零。 空白串是指包含一个或多个空格的串,空格也是字符。 (2)串常量是指在程序中只可引用但不可改变其值的串。 串变量是可以在运行中改变其值的。 (3)主串和子串是相对的,一个串中任意个连续字符组成的串就是这个串的子串,而包含子串的串就称为主串。 (4)静态分配的顺序串是指串的存储空间是确定的,即串值空间的大小是静态的,在编译时刻就被确定。 动态分配的顺序串是在编译时不分配串值空间,在运行过程中用malloc和free等函数根据需要动态地分配和释放字符数组的空间(这个空间长度由分配时确定,也是顺序存储空间)。 2、以HString为存储表示,写一个求子串的算法。 【解】HString 是指以动态分配顺序串为存储表示,其定义为: typedef struct { char *ch; int length; }HString; void *substr( HString *sub,HString *s,int pos,int len) {//用sub返回串s的第pos个字符起长度为len的子串。sub初始时为一空串 //pos的合法位置为0<=pos<=s->length-1 int i; if (pos<0||pos>s->length-1||len<=0) Error("parameter error!");//参数不合法,子串为空串 if (s->lengthlen=s->length-pos;//设置子串的串长 else sub->length=len; //设置子串的串长 sub->ch=(char *)malloc(len*sizeof(char));//为sub->ch申请结点空间 for(i=0;ilength;i++)//将s串中pos位置开始的共sub->length个字符复制到sub串中

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

最新C语言程序设计基础知识期末复习

C语言程序设计基础知识期末复习 一、C语言与算法 1.程序:一组计算机能识别和执行的指令。 2.C语言的特点:运算符丰富(共有34种运算符)、数据类型丰富、具有结构化的控制语句。 3.C语言程序的结构特点: (1).一个程序由一个或多个源程序文件组成:一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义 (2).函数是C程序的主要组成部分:一个C程序是由一个或多个函数组成的必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。 (3).一个函数包括两个部分函数首部和函数体(声明部分:定义在本函数中所用到的变量;对本函数所调用函数进行声明;执行部分:由若干个语句组成,指定在函数中所进行的操作) (4). 程序总是从main函数开始执行 (5). C程序对计算机的操作由C语句完成 (6.)数据声明和语句最后必须有分号 (7.)C语言本身不提供输入输出语句 (8.)程序应当包含注释,增加可读性 4、算法(1)算法+ 数据结构= 程序 (2)顺序结构、选择结构、循环结构是表示一个良好算法的基本结构 (3)算法的特性:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4)算法流程图:一个流程图包括以下几部分:表示相应操作的框;带箭头的流程线;框内外必要的文字说明。 流程线不要忘记画箭头,否则难以判定各框的执行次序。 算法流程图的结构特点:只有一个入口;只有一个出口(一个判断框有两个出口;一个选择结构只有一个出口)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它;结构内不存在“死循环”。 二、顺序结构设计 5、标识符:用来标识变量名、符号常量名、数组名、类型名、函数名等的有效字符序列。C语言对标识符的规定: (1)只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 (2)长度:在TC中最多允许32个字符,建议不要超过8个 如果系统规定标识符长度为8,那么x1234567A和x1234567B会被视为同一标识符。 (3)在C语言中,标识符大小写敏感。如ABC、aBC、abc分别代表3种不同的标识符(4)标识符不能与C语言的保留字、系统标准库函数同名。 program to_ _to file_2 ab1_c3 为合法标识符 非法字符举例:yes? (含有不合法字符“?”)123(第一个字符不能为数字)go to(标识符中不允许有空格) a_80%(出现非法字符“%”)if与关键字相同) 6、常量与变量 注意:以下变量定义形式是错误的int a,int b; int a;b; (1)整型常量 ·十进制整型:能出现数字0~9,可带正负号如:0,11,95,-2

C语言第四章习题带答案-2012.10.16更新

练习4-1答案 一、选择题 1.已知:char c='A'; int i=1, j;,执行语句j=!c&&i++;,则i和j的值是( B )。 A.1,1 B.1,0 C.2,1 D.2,0 2.已知:int x=1, y=2, z;,则执行z=x>y?++x:++y;,则z的值为( C )。 A.1 B.2 C.3 D.4 3.已知:int a=4, b=5, c;,则执行表达式c=a=a>b后变量a的值为( A )。 A.0 B.1 C.4 D.5 4.已知:char ch='A';,则表达式ch=(ch>='A'&&ch<='Z')?(ch+32):ch;的值是( B )。 A.'A' B.'a' C.'Z' D.'z' 5.若w=1, x=2, y=3, z=4;,则条件表达式w>x?w:y10?x+100:x-10); printf("%d",w++||z++); printf("%d",!w>z); printf("%d",w&&z); A.0111 B.1111 C.0101 D.0100 7.已知:a=b=c=1且a、b、c均为int型变量,执行以下语句:++a||++b&&++c; 则变量a值为( ①C ),b值为( ②A )。 ①A.不正确B.0 C.2 D.1 ②A.1 B.2 C.不正确D.0 8.执行下面语句后x的值为( D )。 int a=14, b=15, x; char c='A'; x=((a&b)&&(c<'a')); A.TRUE B.FALSE C.0 D.1 9.要判断char型变量m是否是数字,可以使用下列表达式( B )。 A.0<=m&&m<=9 B.'0'<=m&&m<='9' C."0"<=m&&m<="9" D.前面三个答案均是错误的 10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是( C )。 A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B.(x>=1)||(x<=10)||(x>=200)||(x<=210) C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D.(x>=1)||(x<=10)&&(x>=200)||(x<=210) 11.设x、y和z是int型变量,且x=3, y=4, z=5,则下面表达式中值为0的是( D )。 A.'x'&&'y'B.x<=y C.x||y+z&&y-z D.!((x=y&&ch<'B'&&!y的值是( C )。 A.0 B.语法错C.1 D.“假” 13.判断char型变量c1是否为小写字母的正确表达式为( D )。

第一章 C语言基础知识ji

第一章C语言基础知识 一、选择题 1.C语言规定,必须用 C 作为主函数名。(0级) A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个B,一个C程序总是从B开始执行。(0级) A)过程B) 主函数C)函数D)include 3.A是C程序的基本构成单位。(0级) A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是C。(0级) A)一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 B)一个函数的函数体必须要有执行部分,可以没有变量定义 C)一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 D)以上都不对 5.下列说法正确的是D。(0级) A)main函数必须放在C程序的开头 B)main函数必须放在C程序的最后 C)main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的 D)main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的 6.下列说法正确的是C。(0级) A)在执行C程序时不是从mian函数开始的 B)C程序书写格式严格限制,一行内必须写一个语句 C)C程序书写格式自由,一个语句可以分写在多行上 D)C程序书写格式严格限制,一行内必须写一个语句,并要有行号 7.在C语言中,每个语句和数据定义是用C结束。(0级) A)句号B)逗号C)分号D)括号 8.下列字符串是标识符的是A。(0级) A)_HJ B)9_student C)long D)LINE 1 (因为有空格) 9.以下说法正确的是C。(0级) A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,要调用的函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 10.B不是C语言提供的合法关键字。(0级) A)switch B)print C)case D)default 11.C语言提供的合法关键字是A。(0级) A)break B)print C)funiton D)end 12.C语言提供的合法关键字是A。(0级) A)continue B)procedure C)begin D)append 13. C语言规定: 在一个源程序中, main函数的位置C。(02~03第一学期试题)(?) A) 必须在最开始B) 必须在系统调用的库函数的后面

C语言练习习题(带详解答案)

欢迎阅读 一、编程题 1.输入2个整数,求两数的平方和并输出。 #include int main(void) { intt a ,b,s; 2. 信息。 scanf("%lf",&r); if (r>=0) { area =PI*r*r; girth =2*PI*r ; printf("the area is %.2f\n", area);

printf("the girth is %.2f\n", girth);} else printf("Input error!\n"); return 0; } 3 4.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。 #include void main(){ int data;

char grade; printf("Please enter the score:"); scanf("%d”, &data); switch(data/10) { case 10: } 5. float fee; printf(“please input hour:\n”); scan f(“%d”,&hour); if(hour<=10) fee=30;

else if(hour>=10&&hour<=50) fee=3*hour; else fee=hour*2.5; printf(“The total fee is %f”,fee); } 6. } 7、编程序实现求1-10之间的所有数的乘积并输出。 #include void main( ) { int i; long sum=1;

C语言程序设计基础测试题-答案

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2] 下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4] 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6] C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8] 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

c语言第4章 选择结构程序设计习题答案

第4章选择结构程序设计 习题(P111) 4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”? 答:C语言中用1表示真,0表示假;系统按照“非0为真,0为假”判断一个逻辑量的真假。 4.3 写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&b==c (2)a||b+c&&b-c (3)!(a>b)&&!c||1 (4)!(x=a)&&(y=b)&&0 (5)!(a+b)+c-1&&b+c/2 解:该题在求解过程中注意: 一、优先级。逻辑运算符(&&和||)低于算术运算符和关系运算符而高于赋值运算符,在逻辑运算符中,逻辑非最高,逻辑与其次,逻辑或最低; 二、逻辑表达式的求值规则。(P94) 所以得以上表达式的值分别为:(1)0 (2)1 (3)1 (4)0 (5)1 4.4有3个整数a、b、c,由键盘输入,输出其中最大的数。 分析:这是一个规模较小的求最值的算法,习题1.6用函数的方法实现。该题不用函数调用实现,但方法是最值,再依次和第二、第三个数比较得结果。其中都要用到单分支或双分支选择结构语句。 参考程序如下: main() { int a,b,c,max; /*定义4个整型变量,其中a,b,c存原始数据,max存最值*/ printf("\ninput the value of a,b,c:"); /*提示输入*/ scanf("%d%d%d",&a,&b,&c); /*格式符之间无分隔符,输入时可以以空格、回车、跳格分隔*/ if(a>b) max=a; else max=b; if(max

C语言程序设计基础知识 习题一及参考答案

第一章:程序设计基础知识 一、单项选择题 1、以下( )是面向过程的程序设计语言。 A)机器语言B)汇编语言C)高级语言D)第四代语言 2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是( )。 A)设计数据结构和算法B)建立数学模型 C)编写程序D)调试和运行程序 3、以下常用算法中适合计算等差级数的算法是( )。 A)枚举法B)递推法C)分治法D)排序法 4、以下不属于算法基本特征的是( )。 A)有穷性B)有效性C)可靠性D)有一个或多各输出 5、以下描述中不正确的是( )。 A)程序就是软件,但软件不紧紧是程序。 B)程序是指令的集合,计算机语言是编写程序的工具。 C)计算机语言都是形式化的语言,它有一个语法规则和定义。 D)计算机语言只能编写程序而不能表示算法。 6、下面描述中,正确的是( ) A)结构化程序设计方法是面向过程程序设计的主流。 B)算法就是计算方法。 C)一个正确的程序就是指程序书写正确。 D)计算机语言就是编写程序的工具而不是表示算法的工具。 7、下面描述中,不正确的是( )。 A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。 C)对于同一个问题,递推算法比递归算法的执行时间要长。 D)递推算法总可以转换为一个递归算法。 8、N-S图与传统流程图比较,主要优点是( )。 A)杜绝了程序的无条件转移。 B)具有顺序、选择和循环三种基本结构。 C)简单、只管。 D)有利于编写程序。 A)B)C)D) 二、填空题 1、在流程图符号中,判断框中应该填写的的是________。(判断条件) 2、结构化程序设计是__________应遵循的方法和原则。(面向过程编程) 3、结构化程序必须用__________程序设计语言来编写。(具有结构化控制语句) 4、可以被连续执行的一条条指令的集合称为计算机的________。(程序) 5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题

C语言 选择结构程序设计练习题

第四章选择结构程序设计 一、填空 1.在C语言中,表示逻辑“真”值用_________。 2.得到整型变量a的十位数字的表达式为_________。 3.表达式:(6>5>4)+(float)(3/2)的值是_________。 4.表达式:a=3,a-1‖--a,2*a的值是_________。(a是整型变量) 5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。(a是整型变量)6.C语言编译系统在给出逻辑运算结果时,以数值_________代表“真”,以 _________代表“假”;但在判断一个量是否为“真”时,以_________代表“假”,以_________代表真。 7.当m=2,n=1,a=1,b=2,c=3时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。 8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。 二、编程: 1.企业发放的奖金根据利润提成。利润(i)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润i,求应发放奖金总数? 2.输入三个整数x,y,z,请把这三个数由小到大输出。 3.输入某年某月某日,判断这一天是这一年的第几天? 4.本程序演示从键盘输入x的值,计算并打印下列分段函数的值。 y=0(x<60) y=1(60<=x<70) y=2(70<=x<80) y=3(80<=x<90)

C语言程序设计基础

题型及分数: 单选题:25分 判断题:10分 填空题:15分 程序分析题:20分 编程题:30分 其中:课后习题及复习大纲中相类似题所占比例在70%-80%。 带*号的内容和复习题为较难部分,为非重点考察内容。 第一章C语言程序设计基础(出题比例4-6%) 1.程序设计语言的基本概念 ?程序 ?程序设计语言 ?常用程序设计语言及其类型 ?源程序、编译、目标文件、连接、可执行程序 ?编程的步骤 2.C语言程序的基本结构 (1) C源程序的框架 C源程序的框架,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 (2) C语言源程序的书写规则: ?C源程序是由一个主函数和若干个其它函数组成的; ?函数名后必须有小括号,函数体放在大括号内; ?C程序对大、小写字母书写敏感; ?每句的末尾加分号; ?可以一行多句; ?可以一句多行; ?可以在程序的任何位置加注释,注释的方式。 3.C语言程序设计的的基本步骤和调试过程 复习题:/***** 1. 每个C语言程序中有且仅有一个函数,它是程序的入口和出口。 2. 引用C语言标准库函数,一般要用预处理命令将其头文件包含进来。 3. C语言属于() A.高级语言 B. 低级语言 C.中级语言 D. 机器语言 4. C语言规定了若干有特定意义、为C语言专用的单词,称为关键字。 5. C语言的语句以结尾。 6. C语言源程序经过编译以后生成文件,生成的文件名后缀为,经过连接后生成文件,后缀为 7.C语言中不能使用关键字作为标识符。(√)

第二章基本数据类型,运算符与表达式(出题比例20-30%) 关键知识点: 1.常量,变量: a)标识符的命名规则 b)常量,变量的概念:直接常量,符号常量,变量必须先定义后使用 c)变量名和变量值的区别。 2.C语言中的基本数据类型 a)各种数据类型的数据在内存中的存放方式 b)掌握各种数据类型数据的常量使用方法,特别注意字符常量和字符串常量的区别使 用 c)整型,字符型,浮点型变量的定义和引用方法 d)数据的数据类型,数据的取值范围,数据在内存中存放方式三者之间的联系 3.运算符和表达式的使用方法 a)自增、自减运算符 b)赋值运算符 c)算术运算符及表达式 d)逗号运算符及表达式 e)*位运算符及表达式 f)sizeof运算符及表达式 g)*强制数据类型转换符及表达式 4.运算符的优先级和结合性 本章复习题: 课后习题:一、单选题,二、填空题 1. C语言的标识符命名规则中,第一个字符可以为字符‘#’或‘&’ .(×)。 2.下列全部属于合法的用户标识符的是() A.A1 P_0 dS B. float 2la _A C. *a hy kk D. _123 temp main 3. C语言对字母的大小写不敏感。(×) 4. C语言中,符号常量由宏定义命令#define来定义。(√) 5. 在VC 6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。 6.下列四个选项中,均是合法的整型常量的选项是A A.160 –0XFFFF 011 B。-0XCDF 01A 0XE C.-01 986,012 0688 D。-0X48a 2e5 0x

C语言基础练习题(含答案)

第一章 C 语言基础知识 1.1 选择题 1. 以下不是C 语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2. 下列字符序列中,不可用作C 语言标识符的是() A .abc123 B.C._123_ D._ok 3. 正确的C 语言标识符是()。 A ._buy_2 B .2_buy C._buy D .buy 4. 请选出可用作 C 语言用户标识符的一组标识符()。 A .void B.a3_b3 C.For D .2a define _123 -abc DO WORD IF Case sizeof 5. 下列符号中,不属于转义字符的是( A.\\ B.\0xAA )。C.\t D .\0 6. 不属于 C 语言关键字的是()。 A .int B .break C.w hile D .character 7. 是 C 语言提供的合法关键字的是()。 A .Float B.signed C.integer D.C har 8. 以下不能定义为用户标示符的是()。

A .scanf B.Void C._3com_ D.int 9. 一个C 程序是由()。 A. —个主程序和若干子程序组成 B. —个或多个函数组成 C. 若干过程组成 D. 若干子程序组成 10. C 语言程序的基本单位是()。 A ?程序行 B ?语句 C ?函数 D .字符 11. 下列说法中,错误的是()。 A ?每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号 B ?每个函数都有一个函数头和一个函数体,主函数也不例外 C ?主函数只能调用用户函数或系统函数,用户函数可以相互调用 D ?程序是由若干个函数组成的,但是必须有、而且只能有一个主函数 12. 以下说法中正确的是()。 A . C语言程序总是从第一个定义的函数开始执行 B ?在C语言程序中,要调用的函数必须在main()函数中定义 C.C 语言程序总是从main()函数开始执行 D . C语言程序中的main()函数必须放在程序的开始部分 13. C 编译程序是()。 A.C 程序的机器语言版本 B .一组机器语言指令 C ?将C源程序编译成目标程序

C语言基础知识(详细版)

C语言程序的结构认识 用一个简单的c 程序例子,介绍c 语言的基本构成、格式、以及良好的书写风格,使小伙伴对 c 语言有个 初步认识。 例1:计算两个整数之和的c 程序: #include main() { int a,b,sum; /* 定义变量a,b ,sum 为整型变量*/ a=20; /* 把整数20 赋值给整型变量a*/ b=15; /* 把整数15 赋值给整型变量b*/ sum=a+b; /* 把两个数之和赋值给整型变量sum*/ printf( “ a=%d,b=%d,sum=%d\n” ,a,b,sum); /* 把计算结果输出到显示屏上*/ } 重点说明: 1、任何一个c 语言程序都必须包括以下格式: main() { } 这是c 语言的基本结构,任何一个程序都必须包含这个结构。括号内可以不写任何内容,那么该程序将不执行任何结果。 2、main() - 在c 语言中称之为“主函数” ,一个c 程序有且仅有一个main 函数,任何一个c 程序总是从 main 函数开始执行,main 函数后面的一对圆括号不能省略。 3、被大括号{ }括起来的内容称为main 函数的函数体,这部分内容就是计算机要执行的内容。 4、在{ }里面每一句话后面都有一个分号(; ),在c 语言中,我们把以一个分号结尾的一句话叫做一个 c 语 言的语句,分号是语句结束的标志。 5、printf( “ a=%d,b=%d,sum=%d\n” ,a,b,sum); 通过执行这条c 语言系统提供给我们直接使用的屏幕输出 函数,用户即可看到运行结果,本程序运行后,将在显示器上显示如下结果: a=20,b=15,sum=35 6、#include 注意:(1)以#号开头 (2)不以分号结尾这一行没有分号,所以不是语句,在c 语言中称之为命令行,或者叫做“预编译处理命令” 。 7、程序中以/* 开头并且以*/ 结尾的部分表示程序的注释部分,注释可以添加在程序的任何位置,为了提高程序的可读性而添加,但计算机在执行主函数内容时完全忽略注释部分,换而言之就是计算机当做注释部分不存在于主函数中。 C程序的生成过程 C程序是先由源文件经编译生成目标文件,然后经过连接生成可执行文件。 源程序的扩展名为.c ,目标程序的扩展名为.obj , 可执行程序的扩展名为.exe 。

严蔚敏《数据结构(c语言版)习题集》答案第四章串

《一定能摸到红球吗?》说课稿 林银花 一、教材说明: 1、课题:《一定能摸到红球吗?》 2、本节内容的地位和作用 在现代社会中,人们面临着更多的机会和选择,常常需要在不确定情境中作出合理的决策,概率正是通过对不确定现象和事件发生的可能性的刻画,来为人们更好的制定决策提供依据和建议.本节内容又是义务教育阶段,唯一培养学生从不确定的角度来观察世界的数学内容,让学生了解可能性是普遍的,有助于他们理解社会,适应生活. 3、教学目标设计: (1)认知目标: (A)经历猜测.实验.收集与分析试验结果等过程 (B)体会事件的发生的不确定性知道事情发生的可能性有多大。 (2)、能力目标: (A)经历游戏等的活动过程,初步认识确定事件和不确定事件 (B)在与其它人交流的过程中,能合理清晰地表达自己的思维过程; (3)、情感目标: (A)通过创设游戏情境,让学生主动参与,做“数学实验”,激发学生学习的热情和兴趣,激活学生思维。 (B)在与他人的合作过程中,增强互相帮助、团结协作的精神。 (C)体会到在生活中我们可以从确定和不确定两方面分析一件事情. 4、本课重点、难点分析: 学习的重点是初步体验事情发生的确定性和不确定性. 学习的难点是确定事件发生的可能性大小. 学习本节知识应注意猜测,试验,收集与分析实验结果,从中体会事件发生的可能性及大小. 二、教学对象分析: 1、初一学生性格开朗活泼,对新鲜事物特别敏感,且较易接受,因此,教学过程中创设的问题情境应较生动活泼,直观形象,且贴近学生的生活,从而引起学生的有意注意。 2、初一学生的概括能力较弱,推理能力还有待不断发展,所以在教学时,可让学生充分试验,收集,分析,帮助他们直观形象地感知。 3、初一学生已经具备了一定的学习能力,所以本节课中,应多为学生创造自主学习、

c语言第四章练习题答案

习 题 四 4.5编程判断输入整数的正负性和奇偶性。流程图如图4-1。 #include main() { int m; scanf("%d", &m); /*输入一个整数*/ if (m >= 0) /*是否为正数*/ { if (m%2 == 0) /*是正数,且能被2整除,是正偶数*/ { printf("%d is a positive even\n", m); } else /*不能被2整除,是正奇数*/ { printf("%d is a positive odd\n", m); } }/*if(m>=0)结束*/ else { if (m % 2 == 0) { printf("%d is a negative even\n", m); /*是负偶数*/ } else { printf("%d is a negative odd\n", m); /*是负奇数*/ } } } 程序运行结果如下: 第一次运行: 6↙ 6 is a positive even 第二次运行: -7↙ 6 is a negative odd 4.6编程计算分段函数:1x x e y e -??=??-? 000x x x >=<,输入x ,打印出y 值。流程图如图4-2。 #include #include main() { int x; double y; scanf("%d", &x); /* 输入一个整数*/ if (x > 0) { y = exp(-x); /*如果大于0,计算y=exp(-x)的值 */

相关主题