首页技术c语言程序设计期末试题及答案?c语言程序设计例题100

c语言程序设计期末试题及答案?c语言程序设计例题100

编程之家2026-05-231111次浏览

大家好,c语言程序设计期末试题及答案相信很多的网友都不是很明白,包括c语言程序设计例题100也是一样,不过没有关系,接下来就来为大家分享关于c语言程序设计期末试题及答案和c语言程序设计例题100的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

c语言程序设计期末试题及答案?c语言程序设计例题100

求一份C语言程序设计的期末考试试题!!!谢谢了

一.选择题(共15题,每题2分,共30分)

1.定义结构体的关键字是()

A. union B. enum C.struct D.typedef

2.设整型变量a为5,使b不为2的表达式是()

A. b=a/2 B. b=6-(--a) C. b=a%2 D. b=a>3?2:1

3.下面哪一项是不正确的字符串赋值或赋初值的方法()

c语言程序设计期末试题及答案?c语言程序设计例题100

A. char*str; str=“china”;

B. char str[7]={‘c’,‘h’,‘i’,‘n’,‘a’};

C. char str1[]=“china”,str2[]=“123”;

D. char str1[10]; str1=“china”;

4.以下对二维数组a进行正确初始化的是()

A. int a[2][3]={{1,2},{3,4},{5,6}}; B. int a[ ][3]={1,2,3,4,5,6};

C. int a[2][ ]={1,2,3,4,5,6}; D. int a[2][ ]={{1,2},{3,4}};

5.选出下列标识符中不是合法的标识符的是()

A. hot_do B. cat1 C. _pri D. 2ab

6.以下说法中正确的是()

A. C语言程序总是从第一个的函数开始执行

B.在C语言程序中,要调用的函数必须在main()函数中定义

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()

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

8.若有说明: int i,j=7,*p=&i;,则与i=j;等价的语句是()

A. i=*p; B.*p=*&j; C. i=&j; D. i=**p;

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

A.‘a’<=c<=‘z’ B.(c>=‘a’)||(c<=‘z’)

C.(‘a’<=c) and(‘z’>=c) D.(c>=‘a’)&&(c<=‘z’)

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

main()

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

p=a;

*(p+3)+=2;

printf(“%d,%d\n”,*p,*(p+3));}

A. 0, 5 B. 1, 6 C. 1, 5 D. 0, 6

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

main()

{ int a=5;

float x=3.14;

a*=x*(‘E’-‘A’);

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

A. 62.000000 B. 62.800000 C. 63.000000 D. 62

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

#define f(x) x*x

main()

{ int a=6,b=2,c;

c=f(a)/f(b);

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

A. 9 B. 6 C. 36 D. 18

13.定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};

则语句for(i=0;i<3;i++) printf("%d",x[i][2-i]);的输出结果是()

A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9

14.下列程序段的输出结果是()

void main()

{ int k;

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

{ if(k%2!=0)

printf(“#”);

else

printf(“*”);}

}

A.#*#* B.*#*# C.## D.**

15.下列程序执行后输出的结果是()

int d=1;

fun(int p)

{ int d=5;

d+=p++;

printf("%d,",d);}

main()

{ int a=3;

fun(a);

d+= a++;

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

A. 8, 4 B. 9, 6 C. 9, 4 D. 8, 5

二.填空题(共7题,每空2分,共30分)

1.数组 int a[3][5];共定义了_______________个元素。

2.有float f=3.1415927;则 printf(“%5.4f”, f);输出的结果是_______________。

3.下面程序的功能是:输出 100以内(不包含100)能被 3整除且个位数为 6的所有整数,请填空。

main()

{ int i;

for(i=1; _______________; i++)

if(_______________)

printf("%d", i);

}

4.设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________

5.以下是使用指针,进行字符串复制的程序,请填空。

main()

{ char a[]=“Tsinghua University”, b[30],*p1,*p2;

p1=a;

p2=b;

for(;*p1!=‘_______________’; p1++, p2++)

_______________=_______________;

*p2=‘_______________’;

printf(“string a is:%s\n”,a);

printf(“string b is:%s\n”,b);

}

6.下面程序用冒泡法对数组a进行降序排序,请填空。

main()

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

int i,j,m;

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

for(j=0;j<_______________;j++)

if( _______________< _______________)

{ m=a[ j];

a[ j]=a[ j+1];

a[ j+1]= m;}

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

printf("%d",a[i]);

}

7.函数fun的功能是:使一个字符串按逆序存放,请填空。

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("the rotated string is%s\n",_______________);

}

c语言程序设计试题

c语言程序设计试题

阐述编程语言的概念,学习进制转换以及程序的基本运行原理,让大家先有一个整体上的认识。下面是我整理的关于c语言程序设计基础知识,希望大家认真阅读!

【程序1】

题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去

掉不满足条件的排列。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

int i,j,k;

printf("

");

for(i=1;i<5;i++)/*以下为三重循环*/

for(j=1;j<5;j++)

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

{

if(i!=k&&i!=j&&j!=k)/*确保i、j、k三位互不相同*/

printf("%d,%d,%d

",i,j,k);

}

getch();

}

【程序2】

题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;

scanf("%ld",&i);

bonus1=100000*0. 1;

bonus2=bonus1+100000*0.75;

bonus4=bonus2+200000*0.5;

bonus6=bonus4+200000*0.3;

bonus10=bonus6+400000*0.15;

if(i<=100000)

bonus=i*0.1;

else if(i<=200000)

bonus=bonus1+(i-100000)*0.075;

else if(i<=400000)

bonus=bonus2+(i-200000)*0.05;

else if(i<=600000)

bonus=bonus4+(i-400000)*0.03;

else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015;

else

bonus=bonus10+(i-1000000)*0.01;

printf("bonus=%d",bonus);

getch();

}

【程序3】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后

的结果满足如下条件,即是结果。请看具体分析:

2.程序源代码:

代码如下:

#include"math.h"

#include"stdio.h"

#include"conio.h"

main()

{

long int i,x,y,z;

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

{

x=sqrt(i+100);/*x为加上100后开方后的结果*/

y=sqrt(i+268);/*y为再加上168后开方后的结果*/

if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/

printf("

%ld

",i);

}

getch();

}

【程序4】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的.第几天,特殊

情况,闰年且输入月份大于3时需考虑多加一天。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

int day,month,year,sum,leap;

printf("

please input year,month,day

");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)/*先计算某月以前月份的总天数*/

{

case 1:sum=0;break;

case 2:sum=31;break;

case 3:sum=59;break;

case 4:sum=90;break;

case 5:sum=120;break;

case 6:sum=151;break;

case 7:sum=181;break;

case 8:sum=212;break;

case 9:sum=243;break;

case 10:sum=273;break;

case 11:sum=304;break;

case 12:sum=334;break;

default:printf("data error");break;

}

sum=sum+day;/*再加上某天的天数*/

if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/

leap=1;

else

leap=0;

if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/

sum++;

printf("It is the%dth day.",sum);

getch();

}

【程序5】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

int x,y,z,t;

scanf("%d%d%d",&x,&y,&z);

if(x>y)

{t=x;x=y;y=t;}/*交换x,y的值*/

if(x>z)

{t=z;z=x;x=t;}/*交换x,z的值*/

if(y>z)

{t=y;y=z;z=t;}/*交换z,y的值*/

printf("small to big:%d%d%d

",x,y,z);

getch();

}

【程序6】

题目:用*号输出字母C的图案。

1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

printf("Hello C-world!

");

printf("****

");

printf("*

");

printf("*

");

printf("****

");

getch();

}

【程序7】

题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!

1.程序分析:字符共有256个。不同字符,图形不一样。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

char a=176,b=219;

printf("%c%c%c%c%c

",b,a,a,a,b);

printf("%c%c%c%c%c

",a,b,a,b,a);

printf("%c%c%c%c%c

",a,a,b,a,a);

printf("%c%c%c%c%c

",a,b,a,b,a);

printf("%c%c%c%c%c

",b,a,a,a,b);

getch();

}

【程序8】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

int i,j,result;

printf("

");

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

{

for(j=1;j<10;j++)

{

result=i*j;

printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/

}

printf("

");/*每一行后换行*/

}

getch();

}

【程序9】

题目:要求输出国际象棋棋盘。

1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

2.程序源代码:

代码如下:

#include"stdio.h"

#include"conio.h"

main()

{

int i,j;

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

{

for(j=0;j<8;j++)

if((i+j)%2==0)

printf("%c%c",219,219);

else

printf("");

printf("

");

}

getch();

}

;

《C语言程序设计》试题2 求解 请勿乱填 非常感谢

二、填空题(20分)

21.若w=1,x=2,y=3,z=4;则条件表达式w>x?w:y<z?y:z的结果为_3_。

22.共用体类型的标志是 union关键字。

23.定义整型一维数组a含有10个元素且初始化为0的语句是_int a[10]=0;__。

24.在C语言中,打开文件的函数名是_fopen()_。

25.在C语言中“逻辑运算符”有三种,它们分别是与&&或||非!__。

26.若在C程序中使用到库函数〃sqrt(36)〃,应在程序开头写上文件包含命令: math.h

27.在C语言中,编译预处理功能主要包括:文件包含、条件编译和 __宏定义;___。

28.语句printf(〃%d,%c〃,ˊAˊ,ˊAˊ+1)的输出结果是_65,B___。

29.在C语言中,二维数组元素在内存中的存放形式是按行存放。

30.十六进制0x2f表示的十进制数是__639_。

三、写出程序执行结果(20分)

31. main()

{ int a, b, m, n;

a=8;

b=10;

m=++a;

n=b++;

printf(〃%d,%d,%d,%d〃, a, b, m. n);

}

执行的结果是:

9,11,9,10

32. int fac( int n)

{ static int f=1;执行的结果是:

f=f*n;

return(f);

}

main()

{ int i;

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

printf("%d!=%d\n",i,fac(i));

}

1!=1

2!=2

3!=6

4!=24

5!=120

33. main()

{ char s[]="ABCD",*p;

for(p=s;p<s+4;p++) printf("%s\n",p);

}

执行的结果是:

ABCD

BCD

CD

D

34. void uu(int m){

printf("%3d",m%10);

if(m/10!= 0)

uu(m/10);

}

main(){

uu(678);

}

执行的结果是:

8 7 6

c语言程序设计期末试题及答案的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言程序设计例题100、c语言程序设计期末试题及答案的信息别忘了在本站进行查找哦。

java运行环境搭建?JAVA环境搭建c语言程序设计学什么 c语言入门自学软件