搜档网
当前位置:搜档网 › c语言程序设计模拟试题ABC

c语言程序设计模拟试题ABC

c语言程序设计模拟试题ABC
c语言程序设计模拟试题ABC

c语言程序设计模拟试题A

专业班级学号姓名

一、单选题(15分)

1、若有定义:int a=8, b=5, c;执行语句c = a/b+0.4 ;c的值为()。

A) 1.4 B) 1 C) 2.0 D) 2

2 、以下程序中,while 循环的次数是()。

#include

void main(void)

{ int i = 0;

while (i<10) {

if (i<1) continue;

if (i==5) break;

i++;

}

}

A) 1 B) 死循环,不能确定次数C) 6 D) 10

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

#include

void main(void)

{ int a = 0, i;

for (i=1; i<5; i++)v {

switch (i) {

case 0:

case 3: a += 2;

case 1:

case 2: a += 3;

default: a += 5;

}

}

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

}

A) 31 B) 13 C) 10 D) 20

4、执行以下程序段后的输出结果是()。

int x = 5;

int m, n;

n = (++x) + (++x);

m = (x--) + (x--);

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

A) 14 10 B) 13 13 C) 14 14 D) 14 12

5、执行以下程序后的输出结果是()

#include

void main(void)

{

int i = 0, j = 0, a = 6;

if ((++i>0)||(++j>0)) a ++;

printf(“i=%d, j=%d, a=%d\n”, i, j, a);

}

A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7

6、执行以下程序后的输出结果是()

#include

void main(void)

{

char a[]=”abc\0abc”;

printf(“%s”, a);

}

A) abc\0abc B) abc\ C) abc\0 D) abc

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

#include

void main(void)

{

int a = 1, b = 2, c = 3;

printf(“%d”, c>b>a);

}

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

8、执行以下程序后,a的值为()。

int *p, a = 10, b=1;

p = &a; a = *p + b;

A) 12 B) 编译出错C) 10 D) 11

9、以下正确的叙述是()。

A)在C语言中,main函数必须位于文件的开头

B) C语言每行中只能写一条语句

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

D)对一个C语言进行编译预处理时,可检查宏定义的语法错误

10、以下各语句或语句组中,正确的操作是()。

A) char s[5]="abcde" B) char *s; gets(s);

C) char *s; s="abcde"; D) char s[5]; scanf("%s", &s);

11、设有以下说明语句,则下面的叙述中不正确的是()。

struct ex {

int x ; float y; char z ;

} example;

A) struct结构体类型的关键字B) example是结构体类型名

C) x,y,z都是结构体成员名D) struct ex是结构体类型

12、对以下程序段,while 循环执行的次数是()。

int k=0

while (k=1) k++;

A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行1次

13、若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的

表达式是()。

A) p+1 B) a+1 C) a++ D) ++p

14、函数调用:strcat(strcpy(str1,str2),str3)的功能是()。

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

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

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

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

15、在下列选项中,不正确的赋值语句是()。

A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;

二、程序填空(26分)

1、求1!+2!+3!+。。。+10!

#include

void main(void)

{

float s = 0, t = 1;

int n;

for (n=1; ; n++) {

;

;

}

printf(“1!+2!+3!+。。。+10!=%f”, s);

}

2、以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数,并求各位数字中

最大者。例如:1080其零的个数是2,各位数字中最大者是8。

#include

void main(void)

{

unsigned long num, max, t;

int count;

count=max=0;

scanf("%ld", &num);

do {

t= ;

if(t==0) ++count;

else

if(max

num/=10;

} while(num);

printf("count=%d,max=%ld\n", count, max);

}

3、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数。

#include

void main(void)

{

int i, j;

for(i=0; [13]; i++) {

j = i*10+6;

if ( ) continue;

printf("%d",j);

}

}

4、以下函数的功能是,把两个整数指针所指的存储单元中的内容进行交换。

void exchange(int *x, int *y)

{

int t;

t=*y;

*y = ;

*x = ;

}

三、阅读程序,写出程序的输出结果(24分)

1、#include

void main(void)

{

char *s, *s1 = “here is”, *s2 = “key”;

s = s1;

while (*s1!=?\0?) s1++;

while (*s1++=*s2++);

s2 = s;

while (*s2!=?\0?) s2++

printf(“%d\n”, s2-s);

}

2、#include

void main(void)

{

static int a[] = {1, 3, 5, 7};

int *p[3] = {a+2, a+1, a};

int **q = p;

printf(“%d\n”, *(p[0]+1) + **(q+2));

}

3、include

void main(void)

{

int num,c;

printf("请输入一个整数:");

scanf("%d",&num);

do {

c=num%10;

printf("%d",c);

} while((num/=10)>0);

printf("\n");

}

4、include

fut(int **s, int p[2][3])

{

**s=p[1][1];

}

void main(void)

{

int a[2][3] = {1,3,5,7,9,11}, *p;

p = (int *) malloc(sizeof(int));

fut(&p,a);

printf("%d\n",*P);

}

四、编程(35分)

(1)sum=2+5+8+11+14----,输入正整数n,求sum的前n项和。

(2)求1~100间的素数(素数>1,且除了1和自身外,不能被任何其它整数整除。

(3)使用指针数组对输入输入的3个整数序列(每个序列5个整数)进行排序,排序方法不限。

(10)有15个数存放在一个数组中,输入一个数,用折半查找法找出该数是数组中第几个元

素。若该数不在数组中,则打印出“No found”。

c语言程序设计模拟试题B

专业班级学号姓名

五、单选题(15分)

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

#include

void main(void)

{ int a = 5, b = 4, c = 6, d;

printf(“%d\n”, d=a>b?(a>c?a: c): b);

}

A) 5 B) 4 C) 6 D) 不确定

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

void main(void)

{ int a = 4, b = 5, c = 0, d;

d = !a && !b || !c;

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

}

A) 1 B) 0 C) 非0的数D) –1

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

#include

int f(void)

{ static int i = 0;

int s =1;

s += i;

i++;

return (s);

}

void main(void)

{

int i, a = 0;

for (i=0; i<5; i++) a += f()

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

}

A) 1 B) 0 C) 非0的数D) –1

4、执行以下程序段后的输出结果是()。

int x = 2, y = 3, z;

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

printf(“%d”, z);

A) 3 B) 2 C) 5 D) 4

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

#include

void main(void)

{

int i = 010, j =10, a = 0x10;

printf(“%d, %d, %d\n”, i, j, a);

}

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

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

#include

void main(void)

{

int a = 7, float x = 2.5; y = 4.7;

printf(“%g”, x+a%3*(int)(x+y)%2/4);

}

A) 0 B) 2.75 C) 2 D) 2.5

7、下列语句行中,哪些语句能正确进行字符小、串赋值操作()。

A) char st[4][5] B) char s[5]={…A?, …B?, …C?, …D?, ?E?} C) char *s; s = “ABCDE”;

D) char *s; scanf(“%s”, s);

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

#include

void main(void)

{

char a[] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, *p = a+5;

printf(“%d”, *--p);

}

A) 非法B) a[4]的地址C) 3 D) 5

9、以下程序的运行结果是()。

#include

void main(void)

{

int a[4][3]={ 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12};

int *p[4], j;

for (j=0; j<4; j++) p[j]=a[j];

printf("%2d,%2d,%2d,%2d\n", *p[1], (*p)[1], p[3][2], *(p[3]+1));

}

A) 4, 4, 9, 8 B) 程序出错C) 4, 2,12,11 D) 1, 1, 7, 5

10、以下C语言中,对函数不正确的描述是()。

A)当用数组名作形参时,形参数组改变可使实参数组随之改变

B)允许函数递归调用

C)函数形参的作用范围只是局限于所定义的函数内

D)函数说明必须在主调函数之前

11、以下所列的各函数首部中,正确的是()。

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)

12、以下程序执行后sum的值是()

void main(void)

{

int i , sum;

for (i=1;i<6;i++) sum+=i;

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

}

A)15 B)14 C) 不确定D)0

13、以下叙述中不正确的是()。

A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。

C) 在C中,外部变量的隐含类别是自动存储类别。

D) 在C中,函数形参可以说明为register变量。

41、在C语言中,合法的字符常量是()。

A) '\084' B) '\x43' C) 'ab' D) "\0"

15、以下函数调用语句中含有的实参个数是()。

func((exp1,exp2),(exp3,exp4,exp5));

A) 1 B) 2 C) 4 D) 5

二、程序填空(26分)

1、定义compare(char *s1, char *s2)函数,以实现比较两个字符串大小的功能。

#include

void compare(char *s1, char *s2)

{

while(*s1&&*s2&& ) {

s1++;

;

}

return ;

}

void main(void)

{

printf("%d\n", compare("abCd", "abc");

}

2、函数fun的功能是:使字符串str按逆序存放。

void fun (char str[])

{

char m; int i, j;

for (i=0, j=strlen(str); i< ; i++, j--) {

m = str[i];

str[i] = ;

str[j-1] = m;

}

printf("%s\n",str);

}

3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低

于平均分的学生成绩,用输入负数结束输入。请填空。

#include

void main( void)

{

float x[1000],sum=0.0,ave,a;

int n=0,i;

printf("Enter mark:\n");

scanf("%f",&a);

while (a>=0.0&& n<1000) {

sum+ ;

x[n]= ;

n++;scanf("%f",&a);

}

ave= ;

printf("Output:\n");

printf("ave=%f\n",ave);

for (i=0;i

if ( ) printf ("%f\n",x[I]);

}

4、以下fun函数的功能是:累加数组元素中的值.n为数组中元素的个数, 累加的和值放入x

所指的存储单元中。

void fun(int b[ ],int n, int *x)

{

int k, r=0;

for (k=0; k

= r;

}

六、阅读程序,写出程序的输出结果(24分)

1、#include

void main(void)

{

int x = 1;

{

int x = 2;

{

int x = 3;

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

}

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

}

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

}

2、#include

void main(void)

{

static char s[] = “china”, c;

int i, j;

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

for (j=4; j>=1; j--)

if (s[j]

c = s[j]; s[j] = s[j-1]; s[j-1] = c;

}

printf(“%d\n”, *(p[0]+1) + **(q+2));

}

3、include

void f(int c)

{ int a=0;

static int b=0;

a++;

b++;

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

}

void main(void)

{ int i;

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

}

4、#include

struct stu {

int num;

char name[10];

int age;

};

void fun(struct stu *p)

{

printf("%s\n",(*p).name);

}

void main(void)

{

struct stu students[3]={ {9801,"Zhang",20}, {9802,"Wang",19}, {9803,"Zhao",18} };

fun(students+2);

}

四、编程(35分)

(1)输入一个double 类型的数,使该数保留小数点后2位,且对第3位进行四舍五入处理。(2)编写函数strcopy(s, t),将字符串s 复制到字符串t 中。

(3)求2~1000中的所有完数(某数因子和等于其本身的数称为完数。例:28的因子是1,2,4,7,14,且1+2+4+7+14=28,故28是完数。)

c语言程序设计模拟试题C

专业班级学号姓名

一、单选题(15分)

1、若变量a 是int 类型,并执行了语句a = …A?+1.6;后,则正确的叙述是()。

A) a的值是字符?C?B) a的值是浮点型C) a的值是字符?A?的ASCII值加1

D) 不允许字符型和浮点型相加

2、执行以下程序段后,变量y的值是()。

int x, y;

x = 1;

y = (++x*5);

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

3、9、执行以下程序段后的输出结果是()

int a = 10;

printf(“%d ”, ++x);

printf(“%d ”, x--)

A) 11 10 B) 11 11 C) 10 11 D) 10 10

4、执行以下程序后的输出结果是()

#include

void main(void)

{

int x = 10;

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

}

A) 11 10 -10 B) 10 10 -10 C) 10 11 -11 D) 11 11 -10

5、下面正确的自定义标识符是()

A) a2b3 B) int C) int abc D) 2a3b

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

#include

void main(void)

{

int a = 12, n = 5;

printf(“%d”, a%2=(n%2));

}

A) 01 B) 1 C) 0 D) 0x1

7、若有下列说明和语句:int a[4][5], (*p)[5]; p = a; 则对a数组元素的正确引用是()。

A) p+1 B) *(p+3) C) *(p+1)+3 D) *(*p+2)

8、执行printf("%d\n", strlen("a\n\"\x41"))语句,其输出结果是()。

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

9、若定义a[][2]={1,2,3,4,5,6,7}; 则a数组中行的大小是()。

A) 2 B) 3 C) 4 D) 无确定值

10、若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是

()。

fseek(fp, 0, SEEK_END)

i=ftell(fp);

printf("i=%ld\n", i);

A) -1 B) fp所指文件的长度,以字节为单位

C) 0 D) 2

11、当调用函数时,实参是一个数组名,则向函数传送的是()。

A) 数组的长度B) 数组的首地址

C) 数组每一个元素的地址D) 数组每个元素中的值

12、若变量c为char类型,则能正确判断出c为小写字母的表达式是()。

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

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

13、以下对C语言函数的有关描述中,正确的是()。

A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B) C函数既可以嵌套定义又可以递归调用

C) 函数必须有返回值,否则不能使用函数

D) C程序中有调用关系的所有函数必须放在同一个源程序文件中

14、若有以下定义和语句,则输出结果是()

int **pp,*p,a=10,b=20;

pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp);

A)10,20 B)10,10 C)20,10 D)20,20

15、设有语句char a='\72'; 则变量a包含的字符个数是()。

A)1 B)2 C)3 D)说明不合法

二、程序填空(26分)

1、以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。

#include

void main(void)

{

int a[4][4]={1,2,3,4, 2,2,5,6, 3,5,3,7, 8,6,7,4};

int i, j, found=0;

for(j=0; j<4; j++){

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

if ( ) {

found= ;

break;

}

if(found) break;

}

if(found) printf("不对称\n");

else printf("对称\n");

}

2、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。

#include

#include

void main(void)

{

char a[]="clanguage",t;

int i, j, k;

k = strlen(a);

for (i=0; i<=k-2; i+=2)

for (j=i+2; j<=k; )

if ( ) {

t=a[i]; a[i]=a[j]; a[j]=t;

}

puts(a);

printf("\n");

}

3、以下程序中用户由键盘输入一个文件名,然后输入一串字符(用#结束输入)存放到此文

件文件中形成文本文件,并将字符的个数写到文件尾部。

#include

void main(void)

{

FILE *fp;

char ch,fname[32];int count=0;

printf("Input the filename :");scanf("%s",fname);

if ((fp=fopen( ,"w+"))==NULL) {

printf("Can't open file:%s \n",fname);

exit(0);

}

printf("Enter data:\n");

while ((ch=getchar())!="#") {

fputc(ch,fp);

count++;

}

fprintf( ,"\n%d\n",count);

fclose(fp);

}

4、以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是

只能被1和本身整除且大于1的自然数。

#include

int isprime(int);

void main(void)

{

int i,a[10],*p=a,sum=0;

printf("Enter 10 num:\n");

for (i=0;i<10;i + + ) scanf("%d",&a[i]);

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

if (isprime(*(p+ )) == 1) {

printf("%d",*(a+i));

sum += *(a+i);

}

printf("\nThe sum=%d\n",sum);

}

int isprime(int x)

{

int i;

for (i=2;i<=x/2;i + + )

if (x%i = = 0) return (0);

;

}

三、阅读程序,写出程序的输出结果(24分)

1、#include

void increment(void);

void main(void)

{

increment();

increment();

increment();

}

void increment(void)

{

static int x = 0;

x ++;

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

}

2、#include

void main(void)

{

int array[10] = {1, 2, 4, 5, 6, 0, 0, 0, 0, 0}, i;

printf("\n");

for (i=0; i<10; i++) printf("%3d ", array[i]);

printf("\n");

for (i=9; i>=2; i--) array[i] = array[i-1];

array[2] = 3;

for (i=0; i<10; i++) printf("%3d ", array[i]);

printf("\n");

}

3、include

void main(void)

{

static char a[]="ABCDEFGH",b[]="abCDefGh";

char *p1,*p2;

int k;

p1=a; p2=b;

for(k=0;k<=7;k++)

if (*(p1+k)==*(p2+k)) printf("%c",*(p1+k));

printf("\n");

}

4、#include

int fun(int x,int y,int *cp,int *dp)

{

*cp=x+y; *dp=x-y;

}

void main(void)

{

int a, b, c, d;

a=30; b=50;

fun(a,b,&c,&d);

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

}

四、编程(35分)

(1)通过函数的递归调用计算阶乘。

(2)编写函数strcompare(s1,s2),按照字典顺序比较两个字符串s1和s2,若两串相等返

回0;若串s1>s2,则返回+1;若串s1

222c b a =+

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

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B) A、abc B、12AC C、sun D、A 3、设有语句inta=4;则执行了语句a+=a-=a*a后,变量a的值是(A) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是(C) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)

A、INPUTx、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456<回车>,下面程序的输出结果是:(C)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

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、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

C语言程序设计第三版谭浩强课后习题答案完整版

1.6 编写一个程序,输入a、b、c 三个值,输出其中最大值。 课后习题答案完整版 第一章 1.5 请参照本章例题,编写一个C 程序,输出以下信息: ************************** Very Good! ************************** 解:mian() {int a,b,c,max; printf( “请输入三个数a,b,c:\n ” ); scanf( “%d,%d,%”d ,&a,&b,&c); C语言程序设计第三版谭浩强 解: mian() {printf( ”); “************************** printf( “”X “ n” ); printf( “Very Good!” \ n”); printf( “”X “ n” ); printf( “************************** ); max=a; if(max

{char #include c1='a',c2='b',c3= 'c',c4= ' \101 ',c5= ' 116'; printf( “a%cb%c n”,c1,c2,c 3); printf( “ b%c %c” ,c4,c5); } 解: aa 口bb 口口口cc 口口口口口口abc A 口N 3.7 要将"China" 译成密码,译码规律是:用原来字母后面的第 4 个字母代替原来的字母.例如,字母"A" 后面第 4 个字母是"E" . "E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使cl 、c2、c3、c4、c5 五个变量的值分别为, ' C'、h'、i '、n'、a'经过运算,使cl、c2、c3、c4、c5分别变为'G'、' I '、' m >' r'、’ e',并输出。main() { char c1=' C' ,c2=' h' ,c3= ' i ' ,c4= ' n' ,c 5=' a' ; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf(" 密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是GImre 3.9 求下面算术表达式的值。 解: 1 )x+a%3*(int)(x+y)%2/4

c语言程序设计第二章课后参考答案

第二章:C程序的基本结构 一、单项选择题 1、以下不是C语言的特点的是________。 A)语言的表达能力强B)语言定义严格 C)数据结构系统化 D)控制流程结构化 2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。 A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行 3、以下不是二进制代码文件是________。 A)标准库文件 B)目标文件C)源程序文件 D)可执行文件 4、下面个选项组中,均属于C语言关键字的一组是________。 A)auto,enum,include B)switch,typedef,continue C)signed,union,scanf D)if,struct,type 5、下面四组字符串中,都可以用作C语言标识符的是________。 A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY 6、以下不属于流程控制语句的是_________。 A)表达式语句 B)选择语句 C)循环语句 D)转移语句 7、下面描述中,不正确的是________。 A)C语言的函数体由一系列语句和注释组成。 B)注释内容不能单独写在一行上。 C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。 D)scanf和printf是标准库函数而不是输入和输出语句。 8、下面描述中,正确的是________。 A)主函数的花括号必须有,而子函数中的花括号是可有可无的。 B)一个C程序行只能写一个语句。 C)主函数是程序启动时的唯一入口。 D)函数体包含了函数说明部分。 二、填空题 1、一个完整的C程序至少要有一个________函数。(主函数) 2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。(编译系统) 3、C语言是以________为基本单位、整个程序由________组成。(函数函数) 4、常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和________函数等几个大类。(输入输出) 5、标准库函数存放在________文件中。(函数库) 6、目标程序文件的扩展名是________。(.obj) 7、程序连接过程是将目标程序、________或其它目标程序连接装配成可执行文件。(库函数) 8、因为源程序是________类型文件,所以用具有文本编辑功能的任何编辑软件程序完成编辑。(文本)

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

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

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 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}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

C语言详解(第五版)第二章程序设计项目答案

C语言详解(第五版)程序设计项目答案第二章 1.编写一个程序,以每英里0.35的费率计算一个售货员的里程偿还金。程序中要求与用户进行如下方式的交互。 #include #include int main(void) {float mile_1,mile_2,miles,consume,payment; printf("MILEAGE REIMBURSEMENT CALCULATOR\n"); printf("Enter begainning odometer reading>\n"); scanf("%f",&mile_1); printf("Enter endding odometer reading>\n"); scanf("%f",&mile_2); printf("Enter consume per mile>\n"); scanf("%f",&consume); miles=mile_2-mile_1; payment=miles*consume; printf("You traveled%f miles.At%f per mile,your reimbursement is%f",miles,consume,payment); system("pause"); return(0); } 2.编写一个程序,用于辅助设计水力发电大坝。提示用户输入大坝高度,以及水流量。如果水由重力所做的功有90%转化为电能,测算会有多少M瓦的功率。 #include #include int main(void) {double density,weight,gravitational_acceleration, efficiency,height,water_flow_rate,work,electricity_power; printf("Please type in the density of water>"); scanf("%lf",&density); printf("Please type in the gravitational_acceleration>"); scanf("%lf",&gravitational_acceleration); printf("Please type in the height of the water>"); scanf("%lf",&height); printf("Please type in the efficiency of the transformation\nfrom water to electricity>"); scanf("%lf",&efficiency); printf("Please type in the water_flow_rate>"); scanf("%lf",&water_flow_rate); weight=density*water_flow_rate; work=weight*height*gravitational_acceleration; electricity_power=work*efficiency/1000000; printf("The electric energy production is%fW",electricity_power); system("pause"); return0; }

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

C语言程序设计教程第三版(李凤霞)习题答案

教材习题答案 第一章 习题 一、单项选择题 1. C 2. B 3. B 4. C 5. D 6. A 7. C 8. A 二、填空题 1. 判断条件 2. 面向过程编程 3. 结构化 4. 程序 5. 面向对象的程序设计语言 6. 基本功能操作、控制结构 7. 有穷性 8. 直到型循环结构 9. 算法 10.可读性 11.模块化 12.对问题的分解和模块的划分

习题 一、单项选择题 1. B 2. D 3. C 4. B 5. A 6. A 7. B 8.C 二、填空题 1. 主 2. C编译系统 3. 函数、函数 4. 输入输出 5. 头 6. .OBJ 7. 库函数 8. 文本 第三章 习题 一、单项选择题 1. D 2. B 3. A

5. C 6. D 7. D 8. B 9. B 10.C 11.A 12.D 13.C 14.C 15.C 16.A 17.C 18.C 19.C 20.D 21.A 22.D 23.D 24.D,A 25.D 26.A 27.B 二、填空题 1. 补码 2. 308 10 - ±

~)308 10 ,15 —6 2. 308 10 - ± (~)308 10 ,15

6 3. 逻辑 4. 单目,自右向左 5. 函数调用 6. a 或 b ( 题目有错 , 小括号后面的 c<=98 改成( c>=97&&c<=98 )就可以得到所给的答案了) 7.

8. 65 , 89 第四章 习题 一、单项选择题 1. D 2. C 3. D 4. A 5. D 6. B 7. A 8. C 9. B 10.B 二、填空题 1. 一

C语言程序设计学习指导(第2版) 1-6

第一章概述 一、选择 1.C 2.B 3.C 4.D 5.D 6.A 7.B 8.C 9.A 10.B 11.C 12.D 13.B 14.B 第二章数据类型 一、选择 1.D 2.A 3.C 4.D 5.A 6.B 7.A 8.B 9.A 10.D 11.B 12.C 13.C 14.D 15.C 16.B 17.D 18.A 19.C 20.B 21.B 22.D 23.A 24.B 25.B 26.B 27.C 第三章运算符和表达式 一、选择 1.A 2.D 3.D 4.D 5.D 6.A 7.C 8.C 9.B 10.B 11.C 12.C 13.A 14.A 15.A 16.A 17.B 18.C 19.C 20.D 21.A 22.A 23.C 24.C 25.A 26.B 27.D 28.A 29.B 30.C 31.D 32.D 33.D 34.B 35.A 36.A 37.B 38.C 39.D 40.B 41.B 42.C 43.B 第四章输入和输出 一、选择 1.C 2.D 3.C 4.C 5.C 6.B 7.B 8.C 9.D 10.D 11.D 12.D 13.B 14.A 15.B 16.B 二、编程 1.double fun(double m) { float n; n=(5.0/9.0)*(m-32); return n; } 2. char fun(char c) {c=c+32; return c;} 3.double fun(int m) { double y=0; y=sin(m)*10; return(y); } 4.float fun ( float h ) {return (long)( h * 100 + 0.5 )/ 100.0;}

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

C语言程序设计第三版谭浩强课后习题答案完整版

C语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5请参照本章例题,编写一个C程序,输出以下信息:************************** V ery Good! ************************** 解: mian() {printf(“**************************”); printf(“\n”); printf(“V ery Good!\n”); printf(“\n”); printf(“**************************”); } 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 main() { char c1=?C?,c2=?h?,c3=?i?,c4=?n?,c5=?a?; c1+=4; c2+=4; c3+=4; c4+=4; c5+=4; printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 运行结果: 密码是Glmre 3.9求下面算术表达式的值。 (1)x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5,y=2.5 (1)2.5 (2)3.5 3.10写出程序运行的结果。 main() {int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 解: 9,11,9,10 3.12 写出下面表达式运算后a的值,设原来a=12。设a和n都已定义为整型变量。 (1)a+=a (2)a-=2 (3)a*=2+3 (4)a/=a+a (5)a%=(n%=2),n的值等于5 (6)a+=a-=a*=a 解: (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6) 0 第四章 4.4若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’。想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 a=_3_ _b=_4_ _c=_5 x=1.200000,y=2.400000,z=-3.600000 x+y=_3.600_ _y+z=-1.20_ _z+x=-2.40 c1=ˊaˊ_or_97(ASCII)

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

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

《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语言程序设计模拟试题1

C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x

8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束

相关主题