当前位置:文档之家› c语言1

c语言1

c语言1
c语言1

1. struct st {int age;int num;}stul, *p; p=&stul;以下对结构体变量stul中成员age

的非法引用是( )

stul.age

age

p-->age

(*p).age

本题分值: 4.0

用户未作答

标准答案:age

2. 以下程序的运行结果是( )main(){int m=5;if(m++>5) printf('%d',--m);else

printf('%d',m++);}

4

5

6

7

本题分值: 4.0

用户未作答

标准答案: 6

3. 程序段的基本结构中,不包含( )

函数结构

循环结构

顺序结构

分支结构

本题分值: 4.0

用户未作答

标准答案:函数结构

4. 下面程序的输出是( )main(){enum team {my,

your=4,his,her=his+10};printf('%d%d%d%d ',my,your,his,her);}

0 1 2 3

0 4 0 10

0 4 5 15

l 4 5 15

本题分值: 4.0

用户未作答

标准答案: 0 4 5 15

5. 若有定义typedef char STRING[255]; STRING s; 则s是

字符指针数组变量

字符指针变量

字符变量

字符数组变量

本题分值: 4.0

用户未作答

标准答案:字符数组变量

6. 有以下程序:#includemain(){int x,y; printf('Enter an

integer(x):');scanf('%d',&x);if(x++<0) y=-1;else if(x==0) y=0;else y=1;

printf('%d',y);}现从键盘上输入-1,则程序的输出是( )

-1

1

不确定的值

本题分值: 4.0

用户未作答

标准答案: -1

7. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是( )

A%2= =1

!(A%2= =0)

!(A%2)

A%2

本题分值: 4.0

用户未作答

标准答案: !(A%2)

8. 以下选项中可作为C语言合法整数的是

10110B

0386

0Xffa

x2a2

本题分值: 4.0

用户未作答

标准答案:0Xffa

9. 对说明语句int a[10]={6,7,8,9,10};的正确理解是( ) 将5个初值依次a[1]至a[5]

将5个初值依次a[0]至a[4]

将5个初值依次a[5]至a[9]

将5个初值依次a[6]至a[10]

本题分值: 4.0

用户未作答

标准答案:将5个初值依次a[0]至a[4]

10. 下列字符串不属于标识符的是( )

total

lutos_1_2_3

_night

$ 123

本题分值: 4.0

用户未作答

标准答案: $ 123

11. 判断char型变量c1是否小写字母的正确表达式为

'a'<=c1<='z'

(c1>='a')&&(c1<='z')

(c1>=a)&&(c1<=z)

('a'<=c1)||('z'>=c1)

本题分值: 4.0

用户未作答

标准答案:(c1>='a')&&(c1<='z')

12. 有一个函数原型如下所示: abc(float x,double y); 则该函数的返回类型为

void

double

int

float

本题分值: 4.0

用户未作答

标准答案:int

13. 执行语句for(i=1;i++<4;);后变量的值为( )

3

4

5

不定

本题分值: 4.0

用户未作答

标准答案: 5

14. 以下叙述正确的是( )

在C程序中,main函数必须位于程序的最前面

在C程序的每一行只能写一条语句

C语言本身没有输入输出语句

在对一个C程序进行编译的过程中,可发现注释中的拼写错误

本题分值: 4.0

用户未作答

标准答案: C语言本身没有输入输出语句

15. 根据下面程序及数据的输入和输出形式,main(){char ch1,ch2,ch3;输入语句

printf('%c%c%c',ch1,ch2,ch3);}, 输入形式:AuBuC输出形式:AuB, 程序中输入语句的正确形式应该为( )(u代表空格)

scanf('%c%c%c',&ch1,&ch2,&ch3)

scanf('%c,%c,%c',&ch1,&ch2,&ch3)

scanf('%c %c %c',&ch1,&ch2,&ch3)

scanf('%c%c',&ch1,&ch2,&ch3)

本题分值: 4.0

用户未作答

标准答案: scanf('%c%c%c',&ch1,&ch2,&ch3)

16. 设有以下程序片段, int i=010,j=10,k=0xl0;printf('%d,%d,%d',k,j,i);请问执行后

的输出结果是( )

16,10,8

8 10 16

10,10,10

8,10,16

本题分值: 4.0

用户未作答

标准答案: 16,10,8

17. 以下描述中正确的是( )

由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作

do-while循环中,根据情况可以省略while。

本题分值: 4.0

用户未作答

标准答案:在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作

18. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( ) x=(i=4,j=16,k=32) 4

16

32

52

本题分值: 4.0

用户未作答

标准答案: 32

19. 根据题目中已给出的数据输入和输出形式,main(){int x;float y;printf('enter

x,y:');输入语句;输出语句}输入形式:enter x,y:2 3.4输出形式:x+y=5.40, 程序中输入输出语句的正确内容是( )

scanf('%d,%f',&x,&y),printf('\nx+y=%4.2f',x+y)

scanf('%d%f',&x,&y),printf('\nx+y=%4.2f',x+y)

scanf('%d%f',&x,&y),printf('\nx+y=%6.1f',x+y)

scanf('%d%3.1f',&x,&y),printf('\nx+y=%4.2f',x+y)

本题分值: 4.0

用户未作答

标准答案: scanf('%d%f',&x,&y),printf('\nx+y=%4.2f',x+y)

20. 下面对typedef不正确的叙述是

用typedef可以定义各种类型名,但不能用来定义变量

用typedef可以增加新的基本数据类型

用typedef只是将已存在的类型用一个新的标识符表示

使用typedef有利于程序的通用和移植

本题分值: 4.0

用户未作答

标准答案:用typedef可以增加新的基本数据类型

21. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找

被包含文件的方式是( )

仅仅搜索当前目录

仅仅搜索源程序所在目录

直接按系统设定的标准方式搜索目录

先在源程序所在目录搜索,再按系统设定的标准方式搜索

本题分值: 4.0

用户未作答

标准答案:直接按系统设定的标准方式搜索目录

二判断题

1. C语言中的main函数必须位于程序的最前面

本题分值: 4.0

用户未作答

标准答案:错

2. 下列语句new→next=head;head=new;可以完成建立2结点的单向链表的功能

本题分值: 4.0

用户未作答

标准答案:对

3. 用typedef可以创建新的基本类型

本题分值: 4.0

用户未作答

标准答案:错

4. C语言中,函数可以嵌套定义

本题分值: 4.0

用户未作答

标准答案:错

单选题

1. 设E为表达式,以下与do…while(E);不等价的语句是

do…while(!E==0)

do…while(E>0||E<0)

do…while(E==0)

do…while(E!=0)

本题分值: 4.0

用户未作答

标准答案:do…while(E==0)

2. 设有以下程序片段:char s[ ]='Program!';char *p;p=s;则执行完上面的程序段

后,*(p+8)的值为( )

!'

'\0'

'm'

不定值

本题分值: 4.0

用户未作答

标准答案: '\0'

3. 根据下面的定义,能打印出字母“M”的语句是( )struct person{char name[9];int

age;};struct person class[10]={'John',17,'Paul',19,'Mary',18,'adam',16 }; printf('%c\n',class[3].name)

printf('%c\n',class[3].name[l])

printf('%c\n',class[2].name[l])

printf('%c\n',class[2].name[0])

本题分值: 4.0

用户未作答

标准答案: printf('%c\n',class[2].name[0])

4. 设有程序段int k=10;while(k=0) k=k-1;则下面描述中正确的是( )

while循环执行10次

循环是无限循环

循环体语句一次也不执行

循环体语句执行一次

本题分值: 4.0

用户未作答

标准答案:循环体语句一次也不执行

5. 根据下面程序及数据的输入和输出形式,main(){char ch1,ch2,ch3;输入语句

printf('%c%c%c',ch1,ch2,ch3);}, 输入形式:AuBuC输出形式:AuB, 程序中输入语句的正确形式应该为( )(u代表空格)

scanf('%c%c%c',&ch1,&ch2,&ch3)

scanf('%c,%c,%c',&ch1,&ch2,&ch3)

scanf('%c %c %c',&ch1,&ch2,&ch3)

scanf('%c%c',&ch1,&ch2,&ch3)

本题分值: 4.0

用户未作答

标准答案: scanf('%c%c%c',&ch1,&ch2,&ch3)

6. 不属于面向机器语言的是( )

符号语言

二进制语言

汇编语言

C语言

本题分值: 4.0

用户未作答

标准答案: C语言

7. 以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的输出结果是( )

10 10

9 9

9 10

10 9

本题分值: 4.0

用户未作答

标准答案: 10 9

8. 若有说明:int a[10];则对数组元素的正确引用是( )

a[10]

a[3,5]

a(5)

a[10-10]

本题分值: 4.0

用户未作答

标准答案: a[10-10]

9. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被

包含文件的方式是( )

仅仅搜索当前目录

仅仅搜索源程序所在目录

直接按系统设定的标准方式搜索目录

先在源程序所在目录搜索,再按系统设定的标准方式搜索

本题分值: 4.0

用户未作答

标准答案:直接按系统设定的标准方式搜索目录

10. 以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int

a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf('%4d,%4d,%4d',a,b,c);} 5, 2, 3

-5, -12, -7

-5, -12, -17

5, -2, -7

本题分值: 4.0

用户未作答

标准答案: 5, 2, 3

11. 执行语句for(i=1;i++<4;);后变量的值为( )

3

4

5

不定

本题分值: 4.0

用户未作答

标准答案: 5

12. 下面对typedef不正确的叙述是

用typedef可以定义各种类型名,但不能用来定义变量

用typedef可以增加新的基本数据类型

用typedef只是将已存在的类型用一个新的标识符表示

使用typedef有利于程序的通用和移植

本题分值: 4.0

用户未作答

标准答案:用typedef可以增加新的基本数据类型

13. 若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是( )

p+=4,*(p++)

p+=4,*++p

p+=5,*p++

p+=4,++*p

本题分值: 4.0

用户未作答

标准答案: p+=4,*(p++)

14. 以下有关宏替换的叙述不正确的是( )

宏替换不占用运行时间

宏名无类型

宏替换只是字符替换

宏名必须用大写字母表示

本题分值: 4.0

用户未作答

标准答案:宏名必须用大写字母表示

15. 要打开一个已存在的非空文件"file"用于修改,选择正确的语句fp=fopen('file','r')

fp=fopen('file','w')

fp=fopen('file','r+')

fp=fopen('file','w+')

本题分值: 4.0

用户未作答

标准答案:fp=fopen('file','r+')

16. 表达式a

&,<,||

&,||,<

<,||,&

<,&,||

本题分值: 4.0

用户未作答

标准答案: <,&,||

17. 若有以下定义,int a,b;float x; 则正确的赋值语句是( )

a=1,b=2

b++

a=b=5

b=int(x)

本题分值: 4.0

用户未作答

标准答案: b++

18. 若fp已正确定义并指向某个文件,当未遇到该文件结束标志时,函数feof(fp)值

1

-1

一个非0值的

本题分值: 4.0

用户未作答

标准答案:一个非0值的

19. 以下函数的功能对应于 int fun(char *s,char *t) { while (*s)&&(*t)&&(*t==*s)}

{ t++; s++; } return(*s-*t); }

strlen(s)+strlen(t)

strcmp(s,t)

strcpy(s,t)

strcat(s,t)

本题分值: 4.0

用户未作答

标准答案:strcmp(s,t)

20. 写出下面程序的输出结果( )main(){int

i,j;i=20;j=(++i)+i;printf('%d',j);i=13;printf('%d %d),i++,i);}

42 14,13

41 14,14

42 13 13

42 13 14

本题分值: 4.0

用户未作答

标准答案: 42 13 13

21. 程序的三种基本结构是( )

顺序结构,循环结构,递归结构

顺序结构,循环结构,选择结构

选择结构,循环结构,递归结构

顺序结构,选择结构,递归结构

本题分值: 4.0

用户未作答

标准答案:顺序结构,循环结构,选择结构

二判断题

1. 使用continue和break语句,都可以使得C程序中断执行

本题分值: 4.0

用户未作答

标准答案:错

2. 用typedef可以创建新的基本类型

本题分值: 4.0

用户未作答

标准答案:错

3. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3) 错

本题分值: 4.0

用户未作答

标准答案:对

4. C语言中,函数可以嵌套定义

本题分值: 4.0

用户未作答

标准答案:错

一单选题

1. 若有以下定义,int a,b;float x; 则正确的赋值语句是( ) a=1,b=2

b++

a=b=5

b=int(x)

本题分值: 4.0

用户未作答

标准答案: b++

2. 若要求表示a不等于0的关系,错误的表达式是( )

a<>0

a!=0

a

a<0| |a>0

本题分值: 4.0

用户未作答

标准答案: a<>0

3. 函数rewind的作用是( )

使位置指针指向文件的末尾

将位置指针指向文件中所要求的特定位置

使位置指针重新返回文件的开头

使位置指针自动移到下一个字符位置

本题分值: 4.0

用户未作答

标准答案:使位置指针重新返回文件的开头

4. C语言中合法的字符常量是

’\\’

”H”

’He’

p

本题分值: 4.0

用户未作答

标准答案:’\\’

5. C语言规定,函数返回值的类型是由( )所决定。

return语句中的表达式类型

调用该函数时的主调函数类型

调用该函数是系统临时指定

在定义该函数时所指定的函数类型

本题分值: 4.0

用户未作答

标准答案:在定义该函数时所指定的函数类型

6. 以下程序main(){int i=010,j=10,k=0x10;printf('%d,%d,%d ',i,j,k);的输出结果是

( )

8,10,16

8,10,10

10,10,10

10,10,16

本题分值: 4.0

用户未作答

标准答案: 8,10,16

7. 以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int

a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf('%4d,%4d,%4d',a,b,c);}

5, 2, 3

-5, -12, -7

-5, -12, -17

5, -2, -7

本题分值: 4.0

用户未作答

标准答案: 5, 2, 3

8. 变量的指针,其含义是指变量的( )

地址

一个标志

本题分值: 4.0

用户未作答

标准答案:地址

9. 以下程序段x=-1;do x=x*x;while(!x);( )

是死循环

循环执行两次

循环执行一次

有语法错误

本题分值: 4.0

用户未作答

标准答案:循环执行一次

10. 下面能正确进行字符串赋值操作的是( )

char s[5]={'ABCDE'}

char s[5]={'A','B','C','D','E'}

char *s

s='ABCDE'

char *s

scanf('%s',s)

本题分值: 4.0

用户未作答

标准答案: char *s

11. 设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( ) a'&&'b'

a<=b

a||b+c&&b-c

!((a

本题分值: 4.0

用户未作答

标准答案: !((a

12. C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( )

float型

int型

long型

double型

本题分值: 4.0

用户未作答

标准答案: int型

13. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找

被包含文件的方式是( )

仅仅搜索当前目录

仅仅搜索源程序所在目录

直接按系统设定的标准方式搜索目录

先在源程序所在目录搜索,再按系统设定的标准方式搜索

本题分值: 4.0

用户未作答

标准答案:直接按系统设定的标准方式搜索目录

14. 设有以下结构体定义:struct emproyer{char name[8];int age;char sex;}staff;则下

面的叙述不正确的是( )

struct是结构体类型的关键字

struct emproyer是用户定义的结构体类型

staff是用户定义的结构体类型名

nameage和sex都是结构体成员名

本题分值: 4.0

用户未作答

标准答案: staff是用户定义的结构体类型名

15. 以下描述中正确的是( )

由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作do-while循环中,根据情况可以省略while。

本题分值: 4.0

用户未作答

标准答案:在do-while循环体中,一定要有能使while后面表达式的值变为零('假')的操作

16. 以下程序的运行结果是( )main(){int m=5;if(m++>5) printf('%d',--m);else

printf('%d',m++);}

4

5

6

7

本题分值: 4.0

用户未作答

标准答案: 6

17. 根据下面的定义,能打印出字母“M”的语句是( )struct person{char name[9];int

age;};struct person class[10]={'John',17,'Paul',19,'Mary',18,'adam',16 }; printf('%c\n',class[3].name)

printf('%c\n',class[3].name[l])

printf('%c\n',class[2].name[l])

printf('%c\n',class[2].name[0])

本题分值: 4.0

用户未作答

标准答案: printf('%c\n',class[2].name[0])

18. 以下叙述中正确的是( )

在程序的一行上可以出现多个有效的预处理命令行

使用带参的宏时,参数的类型应与宏定义时的一致

宏替换不占用运行时间,只占用编译时间

以下定义中C R是称为宏名的标识符#define C R 045

本题分值: 4.0

用户未作答

标准答案:宏替换不占用运行时间,只占用编译时间

19. 若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9},*p=a;则值为5的表达式是( )

p+=4,*(p++)

p+=4,*++p

p+=5,*p++

p+=4,++*p

本题分值: 4.0

用户未作答

标准答案: p+=4,*(p++)

20. 以下有关宏替换的叙述不正确的是( )

宏替换不占用运行时间

宏名无类型

宏替换只是字符替换

宏名必须用大写字母表示

本题分值: 4.0

用户未作答

标准答案:宏名必须用大写字母表示

21. 下面程序的输出是( )main(){enum team {my,

your=4,his,her=his+10};printf('%d%d%d%d ',my,your,his,her);}

0 1 2 3

0 4 0 10

0 4 5 15

l 4 5 15

本题分值: 4.0

用户未作答

标准答案: 0 4 5 15

二判断题

1. main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf('%d,%d',x,x&&!y||z);}程序的运行

结果是1,1

本题分值: 4.0

用户未作答

标准答案:错

2. 用typedef可以创建新的基本类型

本题分值: 4.0

用户未作答

标准答案:错

3. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3)

本题分值: 4.0

用户未作答

标准答案:对

4. strcmp3(char *s,char *t){for (;*t= =*s;){if (!*t) return 0; t++;s++;}return

(*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段

本题分值: 4.0

用户未作答

标准答案:对

一单选题

1. 设有说明:char *str[10];则标识符str的意义是( )

str是一个指向有10个元素的数组的指针

str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型

str是一个指向char型函数的指针

str是具有10个指针元素的一维指针数组,每个元素都只能指向整型变量

本题分值: 4.0

用户未作答

标准答案: str是一个有10个元素的数组,数组元素的数据类型是指向char型的指针型

2. 若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示

已读到此文件末尾

未读到此文件的末尾

此文件已关闭

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语言期末试卷A12_13_1(含答案)

黄冈职业技术学院2012~2013学年度第1学期 《 C 语言程序设计》期末考试试卷(A 卷) (本试卷适用班级:2012级软件外包服务专业) 一、选择题(本大题共20小题,每小题1.5分,共30分) 1、C 语言中最简单的数据类型包括( ) A )整型、实型、逻辑型 B )整型、实型、字符型 C )整型、字符型、逻辑型 D )字符型、实型、逻辑型 2、以下关于C 语言程序执行的描述,正确的是( )。 A)C 语言执行的程序总是从main()函数开始,到main()函数结束 B)C 语言程序的执行是从第一个函数开始,到程序文件的最后一个函数结束 C)C 语言程序的执行是从第一个函数开始,到main()函数结束 D)C 语言程序的执行总是从main()函数开始,到程序文件的最后一个函数结束 3、C 语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( ) A )必须为字母 B )必须为下划线 C )必须为字母或下划线 D )可以是字母,数字和下划线中任一字符 4、下列可用于C 语言用户标识符的一组是( ) A )void, define, WORD B )a3_b3, _123,Car C )For, -abc, IF Case D )2a, DO, sizeof 5、以下描述错误..的是( )。 A)C 语言源程序经编译后生成后缀名为.obj 的目标程序( ) B)C 语言程序经过编译、连接等步骤之后才形成一个真正可以执行的二进制机器指令文件 C)用C 语言编写的程序被称为源程序,它以ASCII 代码的形式存放在一个文本文件中 D)C 语言每条可执行与非执行语句最终都将被转换成二进制机器指令 6、在C 语言中,char 型数据在内存中的存储形式是( ) A )补码 B )反码 C )原码 D )ASCII 码 7、C 语言中运算对象必须是整型的运算符是( ) A )% B )/ C )= D )<= 8、设有定义char a,b;若通过a&b 运算保留a 的第3位和第6位的值,则b 的二进制数应是( ). A) 00100100 B) 11011011 C) 00010010 D) 01110010 命题人 题 号 一 二 三 四 五 总 分 黄国军 应得分 30 20 24 10 16 100 实得分 评卷人 得 分 ----------- ------- --------------- --装- --------------------- ----------- ---订- ------------------------ -----------线- ------ ------------------ ----------- 教学 学院 :__ __ __ __ __ _ 年级: __ __ __ __ __ __ 专业班 级:_ __ __ __ __ __ _ 姓 名:__ __ __ __ __ __ __ 学号 :_ _ _ __ __ __ __ __ _ -------------------------------密-----------------------------------------封--------------------------------线----------------------------------------

C语言课程标准

软件技术专业核心课程标准

《C语言程序设计》课程标准 1.前言 1.1 课程类别 专业课 1.2 适用专业 软件技术专业 1.3 课程性质 必修课 1.4 设计思路 本课程是大学一年级学生第一次接触到计算机的程序设计语言,在教学方法上采用课堂讲授、演讲和上机实践相结合,以能力培养为出发点以具备程序设计能力为教学目标。理论教学以C语言为最基本、最常用的功能(数据表达和流程控制)为重点教学,以:“够用”、“必须”为标准,在掌握必要的理论知识上从问题分析、建立数学模型、算法设计和编码、测试等方面,重点讲授程序设计的思想和方法以及设计风格,要使学生能够从较高的角度认识课程的学习目的,应看重对程序设计语言(并一定只是C语言)的特点、学习方法和应用能力的培养。 在教学过程中,应通过丰富的图片、动画、演示来帮助学生学习。 本课程实践性很强,在实践教学中以培养学生的独立思考能力与动手能力为主导原则,由教师布置时间内容和要求,并展示项目的参考作品,有学生独立上机编写并调试程序,解决实际问题,教师给予必要的辅导。要求学生通过上机训练巩固、验证、扩充或综合运用课堂讲授内容,从而进一步加深对知识的理解与掌握,培养构思解决问题的思路和良好的编程能力。 在学习方法上要求学生要“弄清概念、注重实践、由浅入深、循序渐进”。 2.课程目标 学习本课程后,学生应达到以下教学目标: 1.能正确使用C语言的标识符、数据类型、常量、变量、运算符、表达式、基本语句等基础知识; 2.认识算法流程图常用符号,能看懂算法流程图; 3.能编写简单的顺序结构,选择结构和循环结构的程序; 4.能使用函数进行模块化结构的程序设计;

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 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) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

10 C语言课程设计_坦克大战(提高篇)

C语言课程设计--坦克大战 一、游戏介绍 玩家坦克与敌方坦克在街道中进行巷战,玩家坦克被击中、玩家指挥部被击中或游戏时间到,一局游戏结束。 二、实验目的 综合应用C语言知识和设计知识开发一款小游戏。 三、实验内容 初始界面如下图。 按下空格键后游戏开始,“空格开始”消失,载入地图,并把玩家坦克设置在指挥部左侧。 游戏时间到,比如30秒,玩家坦克被敌方坦克摧毁,或者玩家指挥部被摧毁,一局游戏结束,游戏回到初始界面,并显示上一局的分数。 游戏区域为下图中最内部的黑色区域,左上角坐标[-26, -22],右下角坐标为[26, 22]。墙为正方形,边长为4,坦克也是正方形,比墙略小一点。 玩家用WASD键控制坦克上、下、左、右运行,按J键开炮。玩家坦克碰到墙就停下来,需要调转方向才能继续前进。玩家坦克开炮,一炮就能摧毁一块墙,或者一辆敌方坦克。玩家没摧毁一辆敌方坦克,加1分。 玩家指挥部被坦克或者炮弹(不管玩家还是敌方)碰上,都会被摧毁。 每隔几秒钟,比如3秒,就会产生一辆敌方坦克。敌方坦克每隔一段时间,比如1秒,就自动开炮。敌方坦克遇到墙就会停下来。停下来的坦克,前方的墙如果被摧毁了,又能继续前进。每隔几秒钟,比如2秒,敌方坦克就会顺时针变换一个方向前进。

四、实验准备 本实验中可能用到的C 语言标准库函数和FunCode API Stdio.h Math.h String.h

FunCode API

原图的角度 获得的旋转角度即为两张图片的

五、程序初步设计 如果程序规模比较小的时候,我们习惯一上手就写代码,边写边调整。但是当程序越来越大,代码越来越多的时候,如果我们还用这种方式编程,程序写到一半的时候,你可能会恨不得重写一遍。 此,我们在写代码之前,先把程序功能细化一下,并初步设计好程序结构,包括数据结构和自定义函数。有了比较清晰的思路以后,再开始开发程序。 在本项目中,我们要操作的对象有6个:玩家坦克、敌方坦克、玩家子弹、敌方子弹、墙、玩家指挥部。 其中,墙和指挥部都比较简单,主要是前4种,而且它们有共通性:名称、速度、位置,因此,可以考虑用一个结构体来表示。此外,我们需要用一种数据结构来管理它们。由于敌方坦克、子弹的数量都无法事先确定,所以我们选择链表而不是数组来管理它们。 struct Weapon{ char szName[128]; // 精灵名称 float fPosX, fPosY; // 精灵坐标 float fSpeedX, fSpeedY; // X和Y方向上速度 float fFireTime; // 敌方坦克距下一次开炮的剩余时间 int iHp; // 生命值 int iDir; // 朝向:0 - 上方;1 - 右方;2 - 下方;3 - 左方 int iType; // 类型: 0 - 我方坦克;1 - 敌方坦克;2 - 我方 // 子弹; 3 - 敌方子弹 Weapon* pNext; // 指向下一个节点的指针 }; 其中,iDir和iType用不同整数表示不同含义。如果在小程序中,我们可以在代码里直接调用这些整数,但是想象一下下面情况: 如果你连续写了三小时代码,你还能清晰记得1表示什么含义吗? 你时不时需要找到Weapon结构体定义查看这些数字的含义,然后再引用,出错的概率有多大? 如果你一不小心,在某处搞错了,比如要处理的是敌方坦克,你却引用2,需要多少时间才能把错误找出来? 因此,在做一个比较大的程序时,我们强烈建议用定义一个枚举类型,用我们熟悉的单词来表示这种数字的含义。 enum Direction{ UP = 0, // 上方 RIGHT = 1, // 右方 DOWN = 2, // 下方

C语言基础知识

常量和变量 1.常量: 程序执行过程中,值不变的量。 3 ,'a' 变量:值可以改变的量。 一个变量有一个名字,在内存中有一定的存储单元,存放变量的值。 2.常量类型: a.整型:12,0,-3 b.实型:4.6,-1.2 c.字符型: 'a','d' d.符号常量: #define PRICE 30 (PRICE不能再被赋值且要大写) 3.变量: 先定义,后使用。一个变量只能被指定为一确定类型。 4.标识符:标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符数列。 a.由字母、数字、下划线三种字符组成,第一个字符必须为字母或下划线。 b.大写字母、小写字母被认为是两个不同的字符。 c.长度一般小于8个。 数据类型 一.整型: 1.整型常量 a.十进制:12,-3,0 b.八进制:以0开头。 c.十六进制:以0x开头。 2.整型变量 a. int -32768——32767 b. short int -32768——32767 c. long int d. unsigned int 0——65535 e. unsigned short 0——65535 f. unsigned long int、short int、long int 第一位为符号位 0000001 (0为正,1为负) unsigned 第一位不是符号位 0000001 所以int型和unsigned型的000001不是同一个值。 二.实型: 1.实型常量:

a.十进制数:数字和小数点组成。0.12,.12,12.0,0.0 b.指数:e之前必须有数字,e后面必须为整数。12e3 2.实型变量: a.单精度:float 7位有效数字 111111.1可,111111.11不可。 b.双精度:double 15—16位有效数字。 三.字符型: 1.字符常量: a. 'a' , 'x' , '*' ,'$' 。 b. 转义字符:‘\n'换。 '\t'从第九列开始。'\r'回车。 '\b'退一格。 2.字符变量: char char='a' 一个字符变量在内存占一个字节。 。将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的ASC码 放到存储单元中,所以字符型数据和整型数据之间可以通用。一个字符型数据既可以以字符形式输出, 又可以以整数形式输出。 四.字符串常量: "how are you", "a","&12" 。不能把一个字符串赋给一个字符变量。 char c='a'对,char c="how" 错。 。'a' :在内存中存a。 “a”:在内存中存a\0。 ‘\0’是C语言中判断字符串是否结束的标志。 变量赋初值 a. int a=3; float f=7.2; char c='a'; b. int a,b,c=5; 相当于 int a,b,c; c=5; c. int a=3;b=3;c=3; 不可写: int a=b=c=3;

C语言程序设计模拟试题1附答案

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。

C语言程序设计课程设计题目

1一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n 是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进

行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

C语言基础知识归纳

C语言基础知识 1.每个C程序有且只有一个主函数main(),且程序必须从main() 函数开始执行,并在main()函数中结束。 2.在C语言中,用e来表示科学计数法时,规定在e的前面必 须有数字,后面必须为整数。 3.用单引号括起来的一个字符常量只能存放一个字符;C语言中 没有字符串变量,只能用字符数组来存储字符串。 4.外部变量在编译时由系统分配永久的内存空间,所以外部变 量的类型不是自动存储类别。 5.在一个函数内的复合语句中定义的变量,只能在这个复合语 句范围内有效。 6.用sizeof(int)计算int类型数据的字节数。 7.C语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一个函数中定义一个函数;只有在函数外部定义的函数才是外部函数;C语言的子程序有过程和函数两种。 8.预处理命令行的位置没有规定,只是习惯放在前面;在源文 件中的可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9.feof函数的作用是检查文件是否结束,当结束时返回的 值为非零,否则为零。

10.当定义了数组后,在给其赋值时,不能直接把字符串赋给数 组名。 11.在赋值表达式中,赋值运算符“=”右侧不能为表达式;在 求余运算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12.静态局部变量,只有当程序结束后,其值才释放。 13.当调用函数时,实参是一个数组名,则向函数传送的是数组 每一个元素的地址。 14.算法的特点为有零个或多个输入,有一个或多个输出,当相 同的输入时,其结果相同;算法正确的程序最终一定会结束。 15.在C语言中,预处理命令行都以“#”开头;当需要时才用 #include;预处理的作用就是实现宏定义和条件编译。 16.当数组元素的下标超出了定义的下标范围时,系统不给出“下 标越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17.共用体变量不能作为函数的参数,也不能使函数带回共用体 变量。 18.指向函数的指针变量的定义形式为:数据类型(*指针变量) ();,因此其为指向函数的指针变量。 19.用C语言编写的代码程序是源程序,只有通过编译、连接才 能进行。 20.在说明为static时,其生存期得到延长,而其作用域并没有改

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出得四个选项中只有一个 选项就是符合题目要求得,请将正确选项前得字母填在题后得括号内。 1、C语言程序编译时,程序中得注释部分就是( ) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( ) A、0与2 B、0与3 C、1与2 D、1与3 3、与语句if(a>b)if(c>d)x=1;else x=2;等价得就是( ) A、if(a>b){if(c>d)x=1;else x=2;} B、if(a>b){if(c>d)x=1;}else x=2; C、if((a>b)&&(c>d))x=1;else x=2; D、if(a<=b)x=2;else if(c>d) x=1; 4、设char x='a';则printf("x=%c,y=%c\n",x,97);得输出就是( ) A、x=a,y=97 B、x=97,y=a C、x=97,y=97 D、x=a,y=a 5、执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf("%d\n”,a[1][0]+b[0][0]);} 后输出得结果就是( ) A、0 B、1 C、2 D、3 6、结构化程序设计所规定得三种基本控制结构就是( ) A) 输入、处理、输出B) 树形、网形、环形 C) 顺序、选择、循环D) 主程序、子程序、函数 7、完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行得步骤依次为( ) A、连接、编译 B、编译、连接 C、连接、运行 D、运行 8、下列各语句中,能够且仅输出整型变量a、b中最大值得就是( ) A、if(a>b) printf(″%d\n″,a);printf(″%d\n″,b); B、printf(″%d\n″,b);if(a>b) printf(″%d\n″,a); C、if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b); D、if(a

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

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

C语言习题课(附答案)

C语言习题课 一、单项选择题: 1.以下A是C语言中有效的变量名称。 A._abc B.2abc C.char D.a#3 变量名只能以下划线和字母开头 2.下面四个说法中错误的是B。 A.for循环不仅可以和for循环嵌套,而且可以和While循环嵌套。 B.当在循环体内执行continue语句的时候,将结束整个循环。 C.while循环最少循环0次,do-while循环最少循环1次。 D.goto语句也可以实现循环的功能。 3.在while ( x )中的x与下面条件表达式等价的是D A.x = = 0 B.x= = 1 C.x! = 1 D.x ! = 0 4.为表示关系x≥y≥z,应使用C语言表达式A A.(x>=y)&&(y>=z) B.(x>=y)AND(y>=z) C.(x>=y>=z) D.(x>=y)&(y>=z) 5.设有如下定义:int x=9,y=2,z;则语句printf(“%d\n”,z= x/y);的输出结果是C A.1 B. C.4 D.3 整形中的“/”是整除 6.若有以下语句:static char x[ ]=”12345”;static char y[ ]={‘1’,’2’,’3’,’4’,’5’};则正 确的说法是 B 。 A.x数组和y数组的长度相同 B.x数组的长度大于y数组的长度 C.x数组的长度小于y数组的长度 D.x数组与y数组等价

字符串后有一个“\0” 7.已知有定义:char ch;则下面正确的赋值语句为A。 A.ch='X' B.ch='55' C.ch="M" D.ch="55" 8.以下说法中正确的是C A.C语言程序总是从第一个的函数开始执行 B.在C语言程序中,要调用的函数必须在main()函数中定义 C.C语言程序总是从main()函数开始执行 D.C语言程序中的main()函数必须放在程序的开始部分 语言中,形参的缺省存储类型说明是: A 语言中的简单数据类型有: B A.整型实型逻辑型 B.整型实型字符型 C.整型字符型逻辑型 D.整型实型逻辑型字符型 11.以下程序段的输出结果是: C A.1 int x=3; B.3 0 do{ C.1 -2 printf("%3d",x-=2); D.死循环 }while(!(--x)); 12.以下非法的赋值语句是: A A.n=(i=2,++i); B.j++; C.++(i+1); D.x=y>0; 13.设a和b均为double型变量,且a=,b=,则表达式(int)a+b/b的值是: D A.B.6 C. D.

c语言基本代码

c语言基本代码 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

'\0':是字符串的结束标志 ‘‘:空格 auto:声明自动变量一般不使用 double:声明双精度变量或函数(和%lf连用), m=(double)(v-l)/l*100+; 这个式子加个double是将后面式子中非double类型强制转换类型为double float:声明浮点型变量或函数(和%f连用),单精度 int:声明整型变量或函数(与%d连用) struct:声明结构体变量或函数 long:声明长整型变量或函数 switch:用于开关语句 enum:声明枚举类型 register:声明积存器变量 typedef:用以给数据类型取别名(当然还有其他作用) extern:声明变量是在其他文件正声明(也可以看做是引用变量) return:子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 const:声明只读变量 short:声明短整型变量或函数 unsigned:声明无符号类型变量或函数 signed:生命有符号类型变量或函数 void:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)default:开关语句中的“其他”分支

goto:无条件跳转语句 sizeof:计算数据类型长度,,是整型表达式用法sizeof(类型说明符,数组名或表达式);sizeof()是获取类型占用的字节数,是整形的 volatile:说明变量在程序执行中可被隐含地改变 static:声明静态变量 char:声明字符型变量或函数 strcmp:strcmp(s1,s2)比较字符串大小两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止大于返回1小于返回-1等于返回0 循环: for:一种循环语句(可意会不可言传)for(表达式1;表达式2;表达式3)while:循环语句的循环条件 do:循环语句的循环体 break:跳出当前循环 continue:结束当前循环,开始下一轮循环 判断: d=a>30b:c:相当于if暨当a>30是d=b否则d=c; if:条件语句与elseifelse并用1、在C语言中一般认为“0”是假,其他不是“0”的都是真。 2、if()里面为真,则进入if下的大括弧{},为假,就跳过。 以此题为例: 若X是“0”(为假)。则里面为假,跳过if下的大{} 若X不是“0”(为真)。则里面为真,进入if下的大{}。 case:开关语句分支,与switch(表达式)连用,case常量表达式;default冒号后面的语句,表示除去各种casei:情况外,其它情况均用default冒号后面的语句处理,即缺省case默认case的处理 else:条件语句否定分支(与if连用)

C语言考试试卷及答案

2011-2012学年第一学期 C语言程序设计A 课程A卷考试题 共 4 页此第 1 页成绩 一、单项选择题(每小题2分,共40分) 1. C语言中合法的字符常量是() A.n B.’\n’ C.110 D.”n” 2. 有以下程序: main( ) { char ch=’A’; printf(“ch(1)=%d,ch(2)=%c\n”,ch,ch+1); } 程序运行后的输出结果是() A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B 3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是() A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2 C. !(a%2)&&a==-b D.a%2==0&&a+b==0 4. 以下程序段中语句” printf("i=%d,j=%d\n",i,j);”的执行次数是() int i, j; for(i=3;i ;i--) for(j=1;j<5;j++) printf("i=%d,j=%d\n",i,j); A. 12 B. 20 C. 15 D. 24 5. 执行以下程序段后,x[2]的值是() int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t; i=0;j=9; while(i

c语言第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言 D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。

C语言复习第十九课

第十九课 ※主要内容 (1)、选择结构 ※主要知识点 (1)、if语句 1.不含else子句的if语句 语句格式: If(表达式) 语句; 例如: if(x>y)printf(“%d”,x);if(x>z) {x++; printf(“%d”,x);} 执行过程是: 先计算出表达式的值,如果表达式的值为真(非0值),则执行其后的if子语句,执行后再去执行if语句后面的下一条语句;如果表达式的值为假(0值),则不执行if子语句,直接执行if语句后面的下一条语句. 例如: 输入两个实数,输出其中的最大数. #include main() { float a,b; scanf(“%f %f”,&a,&b); if(a>b)printf(“%5.2f”,a); if(b>a)printf(“%5.2f”,b); } 2.含else的if语句 语句格式: If(表达式) 语句1; else 语句2; 执行过程是: 先计算出表达式的值,如果表达式的值是真,则执行语句1,执行后再去执行if语句后面的下一条语句;如果表达式的值是假,则跳过语句1而直接执行语句2. 例如: if(x>y)

p rintf(“%d”,x); else p rintf(“%d”,y); 功能是: 如果x>y则输出x,否则输出y. (2)、if语句的嵌套 1、在if语句中嵌套具有else子句的if语句语句格式: If(表达式1) If(表达式) 语句1; Else 语句2; Else 语句3; 2、在if语句中嵌套不含else子句的if语句格式: If(表达式1) {if(表达式2) 语句1;} else 语句2; 3、在else子句中嵌套if子句 格式: If(表达式1) 语句1; else If(表达式2) 语句2; else 语句3; if语句的配对问题

C语言基础知识归纳

C 语言基础知识 1. 每个C 程序有且只有一个主函数main() ,且程序必须从main() 函 数开始执行,并在 main() 函数中结束。 2. 在 C 语言中,用 e 来表示科学计数法时,规定在 e 的前面必须有 数字,后面必须为整数。 3. 用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有 字符串变量,只能用字符数组来存储字符串。 4. 外部变量在编译时由系统分配永久的内存空间,所以外部变量的类 型不是自动存储类别。 5. 在一个函数内的复合语句中定义的变量,只能在这个复合语句范围 内有效。 6. 用 sizeof(int) 计算 int 类型数据的字节数。 7. C 语言运行时,首先系统检查语法的正误,再运行程序的语法; C语言中,可以在一个函数中嵌套一个函数,但是不能在一 个函数中定义一个函数;只有在函数外部定义的函数才是外部函数; C语言的子程序有过程和函数两种。 8. 预处理命令行的位置没有规定,只是习惯放在前面;在源文件中的 可以有多条预处理命令,但一行只能写一条;宏名的大写只是习惯性的表示;宏替换不仅不占用运行时间还不分配内存空间。 9. feo f函数的作用是检查文件是否结束,当结束时返回的值为非零, 否则为零。 10. 当定义了数组后,在给其赋值时,不能直接把字符串赋给数

组名。 11. 在赋值表达式中,赋值运算符“=”右侧不能为表达式;在求余运 算符中的两侧都必须为整型;在强制类型转换时,类型名应用括号括起来。 12. 静态局部变量,只有当程序结束后,其值才释放。 13. 当调用函数时,实参是一个数组名,则向函数传送的是数组每一个 元素的地址。 14. 算法的特点为有零个或多个输入,有一个或多个输出,当相同的输 入时,其结果相同;算法正确的程序最终一定会结束。 15. 在 C 语言中,预处理命令行都以“ # ”开头;当需要时才用 #in clude;预处理的作用就是实现宏定义和条件编译。16. 当数组元素的下标超出了定义的下标范围时,系统不给出“下标 越界”的字样,而是得出错误的答案,因此在编程时务必检查下标是否越界。 17. 共用体变量不能作为函数的参数,也不能使函数带回共用体变量。 18. 指向函数的指针变量的定义形式为:数据类型(* 指针变量) ();,因此其为指向函数的指针变量。 19. 用 C 语言编写的代码程序是源程序,只有通过编译、连接才能进 行。 20. 在说明为static时,其生存期得到延长,而其作用域并没有改 变,在定义后系统会自动帮它赋值为 0, static 为关键字不能 被用作它用。

相关主题
文本预览
相关文档 最新文档