C语言程序设计基础.docx

上传人:b****7 文档编号:15993226 上传时间:2023-07-09 格式:DOCX 页数:25 大小:29.25KB
下载 相关 举报
C语言程序设计基础.docx_第1页
第1页 / 共25页
C语言程序设计基础.docx_第2页
第2页 / 共25页
C语言程序设计基础.docx_第3页
第3页 / 共25页
C语言程序设计基础.docx_第4页
第4页 / 共25页
C语言程序设计基础.docx_第5页
第5页 / 共25页
C语言程序设计基础.docx_第6页
第6页 / 共25页
C语言程序设计基础.docx_第7页
第7页 / 共25页
C语言程序设计基础.docx_第8页
第8页 / 共25页
C语言程序设计基础.docx_第9页
第9页 / 共25页
C语言程序设计基础.docx_第10页
第10页 / 共25页
C语言程序设计基础.docx_第11页
第11页 / 共25页
C语言程序设计基础.docx_第12页
第12页 / 共25页
C语言程序设计基础.docx_第13页
第13页 / 共25页
C语言程序设计基础.docx_第14页
第14页 / 共25页
C语言程序设计基础.docx_第15页
第15页 / 共25页
C语言程序设计基础.docx_第16页
第16页 / 共25页
C语言程序设计基础.docx_第17页
第17页 / 共25页
C语言程序设计基础.docx_第18页
第18页 / 共25页
C语言程序设计基础.docx_第19页
第19页 / 共25页
C语言程序设计基础.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言程序设计基础.docx

《C语言程序设计基础.docx》由会员分享,可在线阅读,更多相关《C语言程序设计基础.docx(25页珍藏版)》请在冰点文库上搜索。

C语言程序设计基础.docx

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.A1P_0dSB.float2la_A

C.*ahykkD._123tempmain

3.C语言对字母的大小写不敏感。

(×)

4.C语言中,符号常量由宏定义命令#define来定义。

(√)

5.在VC6.0中,数据类型int,char,float和double所占的内存字节数分别是、、和。

6.下列四个选项中,均是合法的整型常量的选项是A

A.160–0XFFFF011B。

-0XCDF01A0XE

C.-01986,0120688D。

-0X48a2e50x

7.合法的C语言字符常数是(A)

A.'\t'B."A"C.54D.A

8.设有语句chara='\72';即变量a(A)

A.包含一个字符B.包含两个字符

C.包含3个字符D.说明不合法

9.若有定义inta=7;folatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(2.500000)。

10.在C语言中,要求运算数一定是整型的运算符是(D)

A./B。

++C。

=D。

%

11.字符串常量”mine”的字符个数是(B)

A.4B.5C.6D.7

12.(B)是非法的C语言转义字符

A.'\b'B.'0xf'C.'\037'D.'\'

13.若x、y、z均为int型变量,则执行以下语句后的输出是(A)

x=(y=(z=10)+5)-5;

printf("x=%d,y=%d,z=%d\n",x,y,z);

y=(z=x=0,x+10);

printf("x=%d,y=%d,z=%d\n",x,y,z);

A.x=10,y=15,z=10B.x=10,y=10,z=10

x=0,y=10,z=0x=0,y=10,z=0

C.x=10,y=15,z=10D.x=10,y=10,z=10

x=10,y=10,z=0x=10,y=10,z=0

14.以下程序的输出结果是(B)

#include

voidmain()

{

inta;

floatb,c;

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

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

}

如输入:

9876543210

A.a=98,b=765,c=4321B.a=98,b=765.000000c=4321.000000

C.a=98,b=765.0,c=4321.0D.a=1,b=432,c=8765

15.有如下定义:

inta=20,n=10;求下列表达式的值。

A.a/=a+a;(a=___

(1)___)

B.a%=n%=7;(a=___

(2)___)

C.a+=a-=a*=a;(a=___(3)___)

16.若有以下定义和语句(B)

charc1='b',c2='e';

printf("%d,%c\n",c2-c1,c2-'a'+'A');

则输出结果是:

A)2,MB)3,E

C)2,ED)不确定

17.在以下一组运算符中,优先级最高的运算符是(C)

A)<=B)=

C)%D)&&

18.字符串”It\’s40an\40apple,\n”中包含20个字符。

19.若x=64,y=88,则x<<2和y>>2的值分别是256和22。

第三章程序设计的控制结构(出题比例25-35%)

本章复习题包括课后习题:

一、单选题,二、填空题四、程序设计题1,2,4,7,8,9

3.1顺序程序设计

关键知识点:

1.各种类型数据的格式化输入输出方法

a)字符的输入输出函数getchar()和putchar()

b)注意利用scanf函数输入变量值时不要漏掉取地址符号&

c)调用printf函数输出各种类型数据的方法。

2.顺序程序设计方法和步骤

1.若有以下定义和语句:

(A)

intu=010,v=0x10,w=10;

printf("%d,%d,%d\n,u,v,w);则输出结果是:

A)8,16,10B)10,10,10C)8,8,10D)8,10,10

2.若有定义:

intx,y;chara,b,c;并有以下输入数据(此处代表换行符,□代表空格):

1□2

ABC

则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是(B)

A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();

B)scanf("%d%d",&x,&y);a=getchar();b=getchar();c=getchar();

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

D)scanf("%d%d%c%c%c%c%c%c":

&x,&y,&a,&a,&b,&b,&c,&c);

3.已有如下定义的输入语句,若要求A1,A2,C1,C2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是(C)。

(注:

□表示空格,表示回车)

inta1,a2,;

charc1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A)10□A□20B

B)10□A□20□B

C)10A20B

D)10A20□B

4.已知:

intx;floaty;所用的scanf调用语句格式为:

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

为了将数据10和66.6分别赋给x和y,正确的输入应当是(A)。

A)x=10,y=66.6<回车>

B)10,66.6<回车>

C)10<回车>66.6<回车>

D)x=10<回车>y=66.6<回车>

5.编程实现输入圆的半径,求圆的面积和周长。

3.2选择程序设计

关键知识点:

1.C语言语句的分类

a)特别注意复合语句的使用

b)注意何时使用空语句

2.条件表达式

a)关系运算符

b)逻辑运算符

c)条件运算符的用法

d)各种运算符的优先级关系和结合性

e)注意bool变量的取值:

非零即真

3.选择结构的应用方式

a)if语句的几种应用方式:

if-else配对问题

b)switch语句:

SWITCH后表达式类型,CASE后表达式类型

c)break的使用方法

1.已知x=45,ch=’B’,y=0;则表达式(x>=y&&ch<’b’&&!

y)的值是(C)

A.0B.语法错

C.1D.“假”

2.下列关于switch语句和break语句的结论中,正确的是(B)。

A)break语句是switch语句的一部分

B)在switch语句中可以根据需要使用或不使用break语句

C)在switch语句中必须使用break语句

D)break语句不能在switch语句中使用

3.能正确表达:

“当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)

4.假定所有变量均已正确说明,下列程序段运行后x的值是(B)

a=b=c=0;x=35;

if(!

a)x--;

elseif(b);

if(c)x=3;

elsex=4;

A)34B)4C)35D)3

5.C语言提供的3种逻辑运算符是________、________和________。

6.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为C

A)2,0        B)5,0        C)5,5        D)2,5

    main()

{

intv1=0,v2=0;

  charch;

  while((ch=getchar())!

=’#’)

    switch(ch)

    {

case‘a’:

  case‘h’:

  default:

v1++;

  case‘0’:

v2++;

 }

printf(“%d,%d\n”,v1,v2);

}

7.若变量c为char类型,能正确判断出c为小写字母的表达式是D

A)'a'<=c<='z'B)(c>='a')||(c<='z')

C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')

8.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(C)

A)0B)1C)2D)3

9.已知:

inta=4,b=5,c;则执行表达式c=a=a>b后变量a的值为(A)。

A)0

B)1

C)4

D)5

10.若给定条件表达式:

(n)?

(c++):

(c--),则与表达式n等价的表达式是(C)。

A)n==0

B)n==1

C)n!

=0

D)n!

=1

11.下面程序的输出结果是88898787。

键盘输入:

446755表示回车)

#include

voidmain(void)

{

intc;

while((c=getchar())!

=‘\n’)

switch(c-‘2’)

{

case0:

case1:

putchar(c+4);

case2:

putchar(c+4);break;

case3:

putchar(c+3);

default:

putchar(c+2);break;

}

printf(“\n”);

}

12.逻辑运算符的运算优先级都要低于算术运算符。

(×)

13.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!

=b)&&(n=b>c)后,n值为0,m值为1。

14.有intx,y,z;且x=4,y=-5,z=6,则以下表达式!

(x>y)+(y!

=z)||(x+y)&&(y-z)的值为1。

3.3循环结构程序设计

关键知识点:

1.C语言循环结构的用法,原理

2.三种循环的语法

a)while

b)do-while,

c)for

d)注意分号应何时出现;

3.break,continue的使用方法

4.循环嵌套(2重)的用法

1.以下程序的输出结果是D

main()

{

inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10)break;

if(b%3==1)

{

b+=3;

continue;

}

}

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

}

A)101B)6C)5D)4

2.执行语句for(i=0;i++<3;);后,变量i的值为(C)。

A)2

B)3

C)4

D)5

3.下列程序运行结果是(A)

#include

main()

{

intx=231;

do

printf("%2d",x--);

while(!

x);

}

A.231B.23C.无D.死循环

4.定义inti=1;执行语句while(i++<5);后,i的值是(D)

A.3B.4C.5D.6

5.设x和y均为int型变量,则执行下面的循环后,y值为(C)

for(y=1,x=1;y<=50;y++)

{

if(x==10)break;

if(x%2==1)

{

x+=5;

continue;

}

x-=3;

}

A)2B)4C)6D)8

6.假定a和b为int型变量,则执行以下语句后b的值为(D)

a=1;b=10;

do{b-=a;a++;}while(b--<0);

A)9B)-2C)-1D)8

7.下面的for循环语句最多可执行4次

  for(x=0,y=0;(y!

=99)&&(x<4);x++);

8.设t为int类型,进入到下面的循环之前,t的值为0

while(t=l)

{……}

则以下叙述中正确的是(B)

A)循环控制表达式的值为0B)循环控制表达式的值为1

C)循环控制表达式不合法D)以上说法都不对

9.下面程序的输出结果是-1。

main()

{

intx=2;

while(x--);

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

}

10.for循环只能用于循环次数已经确定的情况。

(×)

11.break语句不仅能够用在循环语句中,还可用在switch语句中。

(√)

12.*写程序计算当x=0.5时下述级数和的近似值,使其误差小于某一个指定的值epsilon(例如:

epsilon=0.000001):

#defineE0.000001

#include

voidmain(void)

{

inti,k=1;

floatx,y,t=1,s,r=1;

printf(“Pleaseenterx=”);

scanf(“%f”,&x);

for(s=x,y=x,i=2;fabs(r)>E;i++)

{

t*=i-1;

y*=x*x;

k*=-1;

r=k*y/t/(2*i-1);

s+=r;

}

printf(“S=%f\n”,s);

}

第四章数组(出题比例15-20%)

关键知识点:

1.数组变量的特征以及数据元素的特性

a)各数组元素类型一致,个数有限,排列有序

2.一维数组和二维数组变量

a)如何定义数组

b)如何初始化数组

c)数组元素的引用方式

d)数组元素的存储方式

e)数组元素的地址及其使用

3.字符串与字符数组的区别

a)字符串常量的返回值是地址

b)字符数组的赋值

c)字符串的输入和输出

d)注意字符串的结束标志

4.各类字符串库函数的使用方法

a)掌握几种常见的函数:

gets,puts,

b)函数strcat,strcmp等

 

复习习题:

课后习题:

一、单选题,二、填空题三、程序设计题第2,3小题

1.合法的数组说明是(B)。

A)inta[]=“string”;

B)inta[]={0,1,2,3,4,5};

C)chara=“string”;

D)chara[]={0,1,2,3,4,5};

2.要说明一个有10个int元素的数组,应当选择语句(A)

A)inta[10];

B)inta[2,5];

C)inta[];

D)int*a[10];

3.已知:

inta[10];则对a数组元素的正确引用是(D)。

A)a[10]

B)a[3.5]

C)a(5)

D)a[0]

4.以下对一维数组a正确进行初始化的语句是(C)。

A)inta[10]=(0,0,0,0,0);

B)inta[10]={};

C)inta[]={0};

D)inta[2]={10,9,8};

5.对以下说明语句的正确理解是(B)。

inta[10]={6,7,8,9,20};

A)将5个初值依次赋给a[1]至a[5]

B)将5个初值依次赋给a[0]至a[4]

C)将5个初值依次赋给a[6]至a[10]

D)因为数组长度与初值个数不相同,所以此语句不正确

6.执行下面的程序段后,变量k中的值为(A)

intk=3,s[2];

s[0]=k;

k=s[1]*10;

A.不定值B.33C.30D.10

7.若有以下程序片段:

charstr[]="ab\n\012\\\"";

则字符数组str能存储的字符个数为(D)

A}3B}4C}6D}7

8.函数调用:

strcat(strcpy(str1,str2),str3)的功能是(c)

A)将串str1复制到串str2中后再连接到串str3之后

B)将串str1连接到串str2之后再复制到串str3之后

C)将串str2复制到串str1中后再将串str3连接到串str1之后

D)将串str2连接到串str1之后再将串str1复制到串str3中

9.已知:

chars[100];inti;则下列引用数组元素的语句中,错误的表示形式是(D)。

A)s[i+10]

B)*(s+i)

C)*(i+s)

D)*((s++)+i)

10.若有“inta[3][4]={{1},{2},{3}};”,则a[1][1]的值为0。

11.给出以下定义:

(C)

charx[]="abcdefg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为

A)数组X和数组Y等价B)数组x和数组Y的长度相同

C)数组X的长度大于数组Y的长度D)数组X的长度小于数组Y的长度

12.以下程序的输出结果是(B)

main()

{

inti,k,a[10],p[3]:

K=5;

for(i=0;i<10;i++)

a[i]=i;

for(i=0;i<3;i++)

p[i]=a[i*(i+1)];

for(i=0;i<3;i++)

k+=p[i]*2;

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

}

A)20B)21C)22D)23

13.以下程序的输出结果是D

A)ABCDB)ABCDC)EFGD)EFGH

FGHEFGJKIJKL

KLIJO

M

main()

{

charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;

for(k=1;k<3;k++)

printf("%s\n",w[k]);

}

14.以下程序的输出结果是A

A)18B)19C)20D)21

main()

{

inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;j<=i;j++)s+=a[i][j];

printf("%dn",s);

}

15.假定int类型变量占用两个字节,其有定义:

intx[10]={0,2,4};,则数组x在内存中所占字节数是D

A)3B)6C)10D)20

16.以下程序的输出结果是C

main()

{

inti,a[10];

for(i=9;i>=0;i--)a[i]=10-i;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2