c语言程序设计题库(求c语言试题及答案!急啊!)

:暂无数据 2026-05-08 19:20:02 :1

c语言程序设计题库(求c语言试题及答案!急啊!)

大家好,今天小编来为大家解答以下的问题,关于c语言程序设计题库,求c语言试题及答案!急啊!这个很多人还不知道,现在让我们一起来看看吧!

本文目录

求c语言试题及答案!急啊!

c语言考试题(一)

一、 单项选择题(每题2分,共20分)
1、以下选项中属于C语言的数据类型是( )
A.复数型 B.逻辑型 C.集合型 D.双精度型
2、一个C程序的执行是从( )
A.main()函数开始,直到main()函数结束 B.第一个函数开始,直到最后一个函数结束
C.第一个语句开始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束
3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是( )
A.3 B.0    C.-12     D.9
4、若有 char c={’c’,’d’,’\0’,’e’,’\0’};则执行语句printf("%s",c);结果是( )。
A.cd\0e B.’c’’d’ C.cd D.cd e
5、已知:int a=a;则下列表达式不是4的是 ( )。
A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a
6、以下有宏替换不正确的叙述( ).
A.宏替换不占用运行时间 B.宏名无类型
C.宏替换只是字符串替换 D.宏名必须用大写字母表示
7、执行char str=”Ch\nina”; strlen(str)的值是( )
A.5 B.6 C.7 D.9
8、下面程序的输出结果是:( )
#define POWER(x) (x*x)
main()
{int i=4; printf("%d",POWER(i-2)); }
A. -9 B. -7 C. 5 D. -6
9、在定义int a;后,第10个元素是( )
A.a
10、下面程序的输出结果是:( )
typedef struct
{long x;《br》}MYTYPE;
MYTYPE a;
main()
{ printf("%d\n",sizeof(a));}
A. 2 B. 8 C. 14 D. 24
二、 填空题(每空1分,共11分)
1、字符串"A"在内存中占用的字节数为 。
2、C语言中的标识符只能由字母、下划线和 组成。
3、若有定义语句“ 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);
4、有如下定义a="B\172\\\’a%%";则执行语句printf("%d",strlen(a));的结果为 。
5、若有定义:int a指向的地址为 。
6、设a=2,b=3,x=3.5,y=2.5,则表达式(float)(a+b)/2+(int)x%(int)y 的结果是 。
7、设x、y都是int型变量,初值都为1,则执行表达式:--x&&y++后,y的值为 。
8、语句for(i=1;i==10;i++)continue;循环的次数是 。
9、以下程序输出 。
main()
{enum em {em1=3,em2=1,em3};
char *aa);
}
三、 写程序结果(每题5分,共35分)
1、#include
main()
{int x,y,z;《br》x=1,y=2,z=3; x+=y+=z;《br》printf("1:%d\n",z+=x》y?x++:y++);《br》x=0x02ff;y=0xff00;《br》printf("2:%d\n",(x&y)》》4|0x005f);《br》x=y=z=-1; ++x||++y&&++z;《br》printf("3:%d,%d,%d\n",x,y,z);《br》}
2、#define f(x) x*x
main()
{int a=6,b=2,c;《br》c=f(a+b)/f(b);《br》printf(“%d\n”,c);《br》}
3、fun(int k)
{ printf("%d",k);
if(k》0)
fun(k-1);
}
main( )
{ int w=5; fun(w); printf("\n"); }
4、#include
main()
{int x=1,y=0;《br》switch(x)《br》{ case 1:《br》switch(y)《br》{ case 0:printf(“first\n”);break;《br》case 1:printf(“second\n”);break;《br》}
case 2:printf(“third\n”);
}
}
5、#include
main()
{ int k=4;
func(k); func(k);
}
func(int a)
{ static int m=0;
m+=a;
printf("%d",m);
}
6、struct st
{ int x;
int *y;
}*p;
int s={30,20};
struct st a};
main()
{ p=a; printf("%d,",p-》x);
printf("%d\n",++(*(++p)-》y));
}
7、假定在当前盘目录下有2个文本文件,其名称和内容如下:
文件名: a1.txt a2.txt
内容: ABCDEF# abcdef#
#include "stdio.h"
main()
{FILE *fp;《br》void fc();《br》if((fp=fopen("a1.txt","r"))==NULL)《br》{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
if((fp=fopen("a2.txt","r"))==NULL)
{printf("Can not open file!\n"); exit(1);}
else{fc(fp);fclose(fp);}
}
void fc(fp1)
FILE *fp1;
{char c;《br》while((c=fgetc(fp1))!=’#’)putchar(c);《br》}
四、 程序填空(每空2分,共14分)
1、下面程序求矩阵a的主对角线元素之和,请填空。
main()
{ int a={2,4,6,8,10,12,14,16,18};
int sum=0,i,j;
for(i=0;i《3; ① )
for(j=0; ② ;j++)
if(i= =j) sum=sum+ ③ ;
printf("sum=%d\n",sum);
}
2、下列函数coy把字符数组S2中的全部字符复制到字符数组S1中, 复制时’\0’也要复制过去,’\0’后面的字符不用。
coy(char s1)
{ int i;
for(i=0;s2!= ① ;i++)
s1;
② ;
}
3、下面程序的功能是将字符串a中的下标为奇数的元素由小到大排序,其他元素不变,请填空。
main()
{ char a="students",t; int i,j;
for(i=1;i《7;i+=2)
for(j=i+2;j《8; ① )
if( ② )
{t=a=t;}
puts(a);
}
c语言考试题(二)
一. 填空题(每题2分,共20分)
1. C语言基本数据类型有:_______________________________;
构造类型有:_____________________________________。 P.13
2. C语言源程序注注释符号是:________________________________,
为表明层次结构,C语言源程序通常采用_____________________格式编写。P.4
3. 源程序TEST.C经编译产生的目标文件是:________________________;
经连接处理后,产生的可执行文件是:__________________________。
4. strlen(“1234 \ 0xy)的值为:_____________________________;
sizeof(float)的值为:____________________________
5. 二维数组a最后一行的首地址为:_________________________;
最后一个元素的首地址为:____________________________________。
6. C标准库函数中,数学函数的原型在:________________头文件中,自定义头文件D :\ MYC \ MY . H应如何包含到源程序文件中:_________________________。P.130
7. 已知函数定义为:int stat(int a,float *p)
{……………}
则此函数的两个参数类型分别是_______________ 、 _____________________。
8. 设int x,y,z=4;
x=y=++z;
x=(y》z)?x+2;x++;则x的值是:_________;
设int a=0,b=0,c=0;c=++a | | b++; ,则a、b、c值分别是:_____________。
9. 与if (x=0) 等价的写法是if ( ! x );
判断两个(float)变量x,z是否相等一般:if ( fabc(x-z)《1e-6 )。
10.已知赋值语句zhang.year=1985;可判断zhang是_______________类型的变量;
定义文件指针的C语句是:_________________________________。
二. 单项选择题 (每题1分,共10分)
1. 组成C程序的基本单位是____________________________。
A.函数 B.标识符 C.表达式 D.语句
2. 设int类型的数据长度为2字节,则该类型数据的取值范围是__________________。
A.0至65536 B.0至65535
C.-32767至32768 D.-32768至32767
3. 在C语言中,逻辑值“真”是用_____________________表示的。
A.预定义为真值的宏 B.非零数
C.正数 D.非零整数
4. C语言对于嵌套if语句规定else总是与_____________________匹配。
A.与最外层的if B.与之前最近的if
C.与之前最近的不带else的if D.与最近的{ }之前的if
5. 数组定义char a={`a`,`b`,`c`}:包括了几个元素____________________。
A.3 B.9 C.4 D.10
6. 数组名作为实参传给被调用的函数时,形参获得的是_____________________。
A.该数组第一个元素的值 B.该数组所有元素的值
C.该数组第一个元素的首地址 D.该数组所有元素的首地址
7. 为表示关系x ≥ y ≥z,正确的C语言表达式为_________________________。
A.(x》=》y》=z) B.(x》=y)AND(y》=z)
C.(x》=y)&&(y》=z) D.(x》y)&(y》=z)
8. 根据定义int a={1,2,3},i,*p=a; 从语法分析_________________是不正确的。
A. a B.*(&a) C.p D.*(*(a+i))
9. 若有语句scanf(“%d%d”,&a,&b);要使变量a,b分别得到12和34;正确的输入形式为____________________________。
A.12 34 B.12,34 C.1234 D.12:34
10.union uex {int i;float f;char c;}ex;则sizeof(ex)的值是____________________。
A.4 B.5 C.6 D.7
三. 分析程序,写出运行结果。(每题4分,共20分)
1. 源程序如下,运行时假定键盘输入字符串为``2004``
#include
void main(void)
{
int n=0;
char c;
while( (c=getchar( )) ! =`\n` ) /*字符型数字*/
{
if (c》=`0`&&c《=`9` )
n = n*10 + c- `0` ; /*数字*/
}
printf(“value=%d|n” ,n);
}
结果为: value=2004 。
2. 源程序如下:
#include
void main(void)
{
int num={399,398,397,396,395,299,290,311,301};
int score={81,85,59,77,90,66,89,93,73};
int iMax,iPos,i;
iPos=0;
iMax=score;
for(i=1;i《9;i++)
if(score》iMax)
{
iPos=i;
iMax=score;
}
printf(“num=%d,score=%d”,num);
结果为: num=311, score=93 。
3. 源程序如下,运行时假定键盘输入数据为:1 2 3 4 5 6 7 8 9 10
#include
void main(void)
{
int i,a;
int *p;
p=a;
for(i=0;i《10;i++)
scanf(“%d“,p++);
for(p=a;p《 SPAN》;p++)
if (*p%2)printf(“%3d”,*p);
}
结果为: 1 3 5 7 9 。
4. 源程序如下,两次运行,分别输入数据13和21
#include
#include
void main(void)
{
int n,s;
scant (“%d”,&n);
s=panduan( n);
if(s==1)printf(“yes\n”);
else printf(“no\n);
}
int panduan(int n)
{
int k,j;
k=(int)sqrt((double)n);
for(j=2;j《=k,j++)
{
if(n%j==0) break;
}
if(j》k) retum(1);
else retum(0);
}
结果为 yes
no
5.源程序如下,运行时假定键盘输入字符为:AxByCz
#include
#include
void main(void)
{
char str;
int i;
gets(str);
for(i=0;str!=`\0`;i++)
if(str》=`a`&&str《=`z`) str-=32;
else if (str》=`A`&&str《=`Z`) str+=32;
puts(str);
}
结果为: aXbYcZ 。
四. 下列程序中每个划线处有一个错误,改正划线 中的错误,使其实现题目要求。(每体4分,共20分)
1. 求 s=1+2+3+、、、、、、、+100
include 改正为_________________________。
void sum (void) 改正为_________________________。
{
int s,i;
for (s=0,i=1;i《=100;i++)
{
s=s+ i ++; 改正为__________________________。
}
printf (“s=%f”,s) 改正为__________________________。
}
2. 源程序实现求x
#include
double pow(float . int) 改正为_________________________。
void main(void)
{
int i, n;
float x;
scanf (“%f,%d”,&x,&n);
for (i=1; i《9;i++)
printf(“%d,%e\n”, i, pow(i,x);
} 改正为______________________。
double v v pow(float x, int n)
{
int i;
double p=0; 改正为______________________。
for (i=1; i《 i++)》改正为_______________________。
p*=x;
retum(p);
}
3. 源程序实现排升序。
#include
void main(void)
{
int i, j, iMin, a={4,3,5,1,10,12,2,6,7,9}, iTemp;
for (i=0; i《9; i++)
{
iMin=0; 改正为_______________________。
for (j=i+1; j《10;j++)
if(a《 iMin="j;"》改正为_______________________。
if (iMin==i) 改正为_________________________。
{ iTemp=a;
a=a; 改正为_________________________。
a=iTemp;
}
}
for(i=0; i《10; i++)
printf(“%4d”, a):
}
4. 源程序为求平均值。
#include
void main(void)
{
int i, sum; 改正为____________________。
float avg;
int sc, *p=sc;
for (i=0, i《10; i++) 改正为____________________。
{
scanf(“%d”, p++);
sum+= *p; 改正为____________________。
}
avg = sum/ 10; 改正为___________________。
printf(“avg=%f”, avg);
}
5. 源程序求 eX=1+x+x2/2!+……+xn/n!前n+1项之和
#include
void main(void》
{
float exp , x , t;
int i, n;
scanf(“%f, %d”,&x, &n);
t=0; 改正为___________________。
exp=1.0;
for(i=1 ; i《=n; i++)
{
if(t《1e-6) loop; 改正为__________________。
t+=x/i; 改正为___________________。
exp*=t; 改正为___________________。
}
printf(“\n%15.6f”, exp);
}
五. 编程题 (每题6分,共30分)
1. 根据以下程序框架,编写子函数,实现交换两个整型变量x和y的值。
#include
void swap (int *, int *);
void main (void)
{
int x, y;
scanf(“%d, %d”, &x, &y);
swap( &x, &y);
printf(“%d, %d”, x, y);
}
void swap( )
{
}
2. 设某班人数36人,参加C语言考试,用一维数组score存放考试成绩,已给出一部分程序,完善以下程序,使其实现统计并输出不及格人数及百分比。
#include
void main (void)
{ int i;
float scoer, precent;
int count=0;
for (i=0; i《36; i++)
{
scanf(“%f”, &score);
}
3. 完善以下程序使其实现由键盘任意输入一串字符,统计其中大写字母个数iA、小写字母个数ia、其他字符个数iother。
#include
#include
void main (void)
{
char str ;
int i, iA=0, ia=0, iother=0;
}
4. 完善以下程序使其实现求方阵主和辅对角线元素之和及其转置矩阵,设方阵用二维数组a表示,转置矩阵用t表示,sl和s2表示主和辅对角线元素之和。
#include
void main(void)
{
int a={1,3,5,7,9,11,13,15,11};
int i, j, s1, s2;
int t;
printf(“%d, %d,\n”,s1, s2);
for(i=0; i《3; i++)
for(j=0; j《3; j++)
printf(“%3d”, t );
}
5. 已知字符数组str,编写返回指针的子函数,实现在其中查找字符ch首次出现的位置。
#include
#include
#include
char *lstrchar(char*, char);
void main(void)
{
char c, *p, str;
gets (str);
scanf(“%c”, &c);
p=lstrchar(str,c);
if(p==NULL) printf(“char %c not found\n”c);
else printf(“The position is %d”, p-str);
char “lstrchar( )
{ }
历年全国计算机二级考试c语言真题及答案
***隐藏网址***

C语言试题

自考“C语言程序设计”模拟试题一
2008-1-3
相关自考频道点评提问自考网上培训
自考“C语言程序设计”模拟试题一
  一、填空题
  1、C语言中基本的数据类型有:______、______ 、______ .
  2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .
  3、整数-35在机内的补码表示为______.
  4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是______.
  5、有如下语句:char A=______.
  6、符号“a”和‘a’的区别是______.
  7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.
  8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.
  二、选择题
  1、设整型变量a为5,使b不为2的表达式是( )。
  A. b=a/2 B. b=6-(——a) C. b=a%2 D. b=a》3?2:1
  2、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
  A. 缩排位置相同的if B. 在其之前未配对的if
  C. 在其之前未配对的最近的if D.同一行上的if
  3、以下程序的输出结果是( )。
  int x=10,y=10;
  printf(“%d %d\n”,x——,——y);
  A. 10 10 B. 9 9 C. 9 10 D. 10 9
  4、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。
  A.P+i*2 B. P+(i-1)*2 C. P+(i-1) D. P+i
  5、选出下列标识符中不是合法的标识符的是( )。
  A. hot_do B. cat1 C. _pri D. 2ab
  6、以下程序的输出结果是( )。
  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
  7、设有说明double(*p1);其中标识符p1是( )。
  A. N个指向double型变量的指针。
  B. 指向N个double型变量的函数指针。
  C. 一个指向由N个double型元素组成的一维数组的指针。
  D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。
  8、在C程序中有如下语句:char *func(int x,int y);它是( )。
  A. 对函数func的定义。 B. 对函数func的调用。
  C.对函数func的原型说明。 D. 不合法的。
  9、以下程序的输出结果是( )。
  char str=“hello!”;
  printf(“%d\n”,strlen(str));
  A. 15 B. 14 C. 7 D. 6
  10、分析以下程序的输出结果是( )。
  main()
  {int a=5,b=-1,c;
  c=adds(a,b);
  printf(“%d”,c);
  c=adds(a,b);
  printf(“%d\n”,c); }
  int adds(int x,int y)
  {static int m=0,n=3;
  n*=++m;
  m=n%x+y++;
  return(m); }
  A. 2,3 B. 2,2 C. 3,2 D. 2,4
11、下列描述中不正确的是( )。
  A. 字符型数组中可能存放字符串。
  B. 可以对字符型数组进行整体输入、输出。
  C. 可以对整型数组进行整体输入、输出。
  D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
  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 x=10,y=3,z;
  则语句printf(“%d\n”,z=(x%y,x/y)); 的输出结果是( )。
  A. 1 B. 0 C. 4 D. 3
  14、定义如下变量和数组:int i;int x={1,2,3,4,5,6,7,8,9};
  则语句for(i=0;i《3;i++) printf(“%d ”,x); 的输出结果是( )。
  A. 1 5 9 B. 1 4 7 C. 3 5 7 D. 3 6 9
  15、以下对二维数组a进行正确初始化的是( )
  A. int a={1,2,3,4,5,6};
  C. int a={{1,2},{3,4}};
  16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
  int x;
  scanf(“%d”,&x);
  if(x++》5) printf(“%d”,x);
  else printf(“%d\n”,x - -);
  A. 7和5 B. 6和3 C. 7和4 D. 6和4
  17、设有如下定义: char *aa={“abcd”,“ABCD”}; 则以下说法中正确的是( )。
  A)aa数组成元素的值分别是“abcd”和ABCD“
  B)aa是指针变量,它指向含有两个数组元素的字符型一维数组
  C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
  D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址
  18、下列程序的输出结果是( )。
  char *p1=“abcd”, *p2=“ABCD”, str=“xyz”;
  strcpy(str+2,strcat(p1+2,p2+1));
  printf(“%s”,str);
  A. xyabcAB B. abcABz C. ABabcz D. xycdBCD
  19、下列程序的输出结果是( )。
  int a={2,4,6,8,10},*P,* *k;
  p=a; k=&p;
  printf(“%d”,*(p++));
  printf(“%d\n”,* *k);
  A. 4 4 B. 2 2 C. 2 4 D. 4 6
  20、不能把字符串:Hello!赋给数组b的语句是( )。
  A. char b={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};
  B. char b; b=“Hello!”;
  C. char b; strcpy(b,“Hello!”);
  D. char b=“Hello!”;
 三、读程序题
  1、float f=3.1415927;
  printf(“%f,%5.4f,%3.3f”,f,f,f);
  则程序的输出结果是 .
  2、int x=6, y=7;
  printf(“%d,”,x++);
  printf(“%d\n”,++y);
  程序的输出结果是 .
  3、a=3;
  a+=(a《1)?a:1;
  printf(“%d”,a);
  结果是.
  4、for (a=1,b=1;a《=100;a++)
  { if(b》=20) break;
  if(b%3==1)
  {b+=3; continue;}
  b-=5; }
  程序的输出结果a的值为 .
  5、int y=1, x, *p, a={2,4,6,8,10};
  p=&a;
  for(x=0;x《3;x++)
  y + = * (p + x);
  printf(“%d\n”,y);
  程序的输出结果y的值是 .
  四、程序填空题
  1、从键盘上输入10个数,求其平均值。
  main()
  {int i;
  float f,sum;
  for(i=1,sum=0.0;i《11;i++)
  { ;
  ; }
  printf(“average=%f\n”,sum/10); }
  2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
  #include
  main()
  { FILE *fp;
  char c;
  fp= ;
  do{
  c=getchar();
  fputs(c,fp);
  }while(c!=EOF);
  }
  3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
  main()
  { float x,amax,amin;
  scanf(“%f”,&x);
  amax=x; amin=x;
  while( )
  { if(x》amax) amax=x;
  if( ) amin=x;
  scanf(“%f”,&x); }
  printf(“\namax=%f\namin=%f\n”,amax,amin); }
  五、编程题
  1. 三个整数a、b、c,由键盘输入,输出其中最大的一个数。
  2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)
  3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0.A的值由主函数从键盘读入。
  4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
参考答案
  一、填空题
  (1)整型、实型、字符型。
  (2)int,2,-32768~ +32767
  (3)1111111111011101
  (4)- 112
  (5)14,‘m’
  (6)“a”是字符串常量,而‘a’是字符常量。
  (7)存放地址值的变量或常量,或者答地址。
  (8)取运算对象的地址。 取指针变量所指的内容。a=1,b=3,c=2
  二、选择题
  1、C 2、C 3、D 4、B 5、D
  6、A 7、C 8、C 9、D 10、A
  11、C 12、C 13、D 14、C 15、B
  16、C 17、D 18、D 19、C 20、B
  三、阅读程序题
  (1) 3.141593,3.1416,3.142
  (2) 6,8
  (3) 4
  (4) 22
  (5) 19
  四、程序填空题
  1、scanf(“%f”,&f); sum+=f;
  2、fopen(“myfile”,w) fclose(fp);
  3、x》=0.0 x《=amin
  五、编程题
  1、main()
  {int a,b,c;
  printf(“请输入三个整数:”);
  scanf(“%d,%d,%d”,&a,&b,&c);
  if(a
  if(b
  else printf(“max=%d\n”,b);
  else if(a
  else printf(“max=%d\n”,a);}
  2、#include“stdio.h”
  main()
  {int I,n;
  for(n=0,I=1900;I《=2000;I++)
  {if(I%4==0&&I0!=0||I@0==0)
  {printf(“%d ”,I);n++;}
  if(n%3==0)
  printf(“\n”);} } }
 3、#include“stdio.h”
  int fun(int a)
  {int I;
  if(a==2) return 1; I=2;
  while((a%I)!=0&&I《=sqrt((float)a))
  I++;
  if(a%I==0)
  {printf(“%d is not a prime!”,a);
  return 0;}
  printf(“%d is a prime!”,a);
  return 1; }
  main()
  {int x;
  printf(“\n please enter a number:”);
  scanf(“%d”,&x);
  printf(“%d\n”,fun(x)); }
  4、#include“stdio.h”
  #define N 3
  struct student
  {long stu_num; char sex;
  char name;
  float average; };
  main()
  {int I,j,index; float sum,max;
  struct student stuarr;
  for(I=0;I
  {printf(“please input %d student information:\n”,I+1);
  scanf(“%ld,%c,%s”,&stuarr.name);
  for(j=0;j《4;j++)
  scanf(“%d”,&stuarr); }
  for(I=0;I
  {sum=0.0;
  for(j=0;j《4;j++)
  sum+=stuarr;
  stuarr.average=sum/4.0;}
  max=stuarr.average;
  index=0;
  for(I=1;I
  if(stuarr.average》max)
  {max=stuarr.average;
  index=I; }
  printf(“总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n”,stuarr.average);
  }

谁有大一C语言考试题快考试了,跪求题库··

单项选择题(每小题2分,共50分)

1、一个C程序的执行是从___A__。

A、本程序的main函数开始,到main函数结束

B、本程序的main函数开始,到本程序文件的最后一个函数结束

C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main函数结束

2、C语言程序的基本单位是___C___。

A、程序行 B、语句

C、函数 D、字符

3、请选出可用作C语言用户标识符的一组标识符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特点

C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。

以上内容参考:百度百科-c语言

C语言课程设计题目

例:学生管理系统设计
设计内容:
详见视频,要求数据结构用链表,数据存储使用文件。

计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理
(1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
(2) 插入(修改)教师授课教学信息:
(3) 删除教师授课教学信息:
(4) 浏览教师授课教学信息:
B、教师工作量数据处理:
(1) 计算单个教学任务总课时。计算原则如下表:

(2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。
(3)教师数据查询:
  提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
C、教师综合信息输出
  提示:输出教师信息到屏幕。

***隐藏网址***
提取码: 1111

该系统是一个进行选择题测试的考试系统,具有测试、练习功能,具有系统设置功能,具有查分和帮助功能。
一、功能要求:
1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)
2、试题录入:可随时增加试题到试题库中
3、试题抽取:每次从试题库中可以随机抽出N道题及每题的得分K(N、K由键盘输入)。
4、可以设置考试时间。
5、用户可以选择“考试”和“练习”两种方式。
5、答题:用户可实现输入自己的答案,“考试”时系统不能显示答案。“练习”时每一题都可以通过查看“按钮”显示标准答案。可以用“上一题”、“下一题”翻页。选择“交卷”按钮则显示得分;
6、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
7、考试开始系统显示倒计时。时间为零自动交卷。
二、其它要求:
1、源程序要有适当的注释,使程序容易阅读
2、至少采用文本菜单界面(如果能采用图形菜单界面更好)
3、学生可自动增加新功能模块(视情况可另外加分)
4、写出课程设计报告,具体要求见相关说明文档

***隐藏网址***
提取码: 1111

设计内容:
设计一个简单的英语字典,输入英语单词,显示中文含义,设计要求:

***隐藏网址***
提取码: 1111

设计内容:
设计一个学生通信录,学生通迅录数据信息构成内容可自行设计(如:姓名、家庭地址、邮政编码、电话号码等等)。该学生通信录电话簿管理程序具有加入、删除、显示和查询等功能。
设计要求:
1、 能建立、修改和增删学生通讯录
2、 具有群组工能,可以增加群组和记录。
3、 删除可以删除一条、一个群组、全部记录。
4、 查询包含模糊查询。
5、 显示可以以页面和列表方式显示。
6、 有自动排序的功能。
7、 要求:界面友好,易于操作,采用文件存储数据。

***隐藏网址***
提取码: 1111


实现一个完整的小型音像店对录像带进行管理的系统。

系统要求具有以下功能:
(1) 管理音像店中的所有录像带,包括新录像带入库、录像带出租、录像带的返还、所有录像带清单的显示、根据指定条件进行查找删除录像带等各种基本操作。
(2) 客户数据维护,可以将客户分为不同等级,可以根据指定客户显示其所借录像带详细信息。
(3) 租金管理,根据所借日期自动计算所需交纳的租金。
(4) 系统要求界面美观,菜单设计合理,操作方便。

音像店有两个主要的组成部分:录像带和客户。可以构造3个链表存储以下数据:
(1) 商店中所有录像带的链表;
(2) 商店所有客户的链表;
(3) 当前已出租的录像带链表;

***隐藏网址***
提取码: 1111


航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。设计一个航空订票系统实现上述功能。

(1) 将每条航线的有关信息存入计算机,如:终点站名、航班号、飞机号、飞行周日(星期几)、时间、乘员定额、余票量、票价,已定票客户名单和等候替补客户名单(包括姓名,所需票数);
(2) 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞、最近一天航班的日期和余票量。
(3) 订票:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补;
(4) 退票:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补客户。
发挥想像,增加新的功能,完善系统。
系统要求界面美观,菜单设计合理,操作方便。

***隐藏网址***
提取码: 1111


某旅馆有n个等级的房间,第I等级有 个房间,每个等级的房间有 个床位(1≤i≤n)。试模拟旅馆管理系统中床位分配和回收的功能,设计能为单个旅客分配床位,在其离店便回收床位(供下次分配)的算法。

(1) 旅客登记,即为旅客分配床位。输入旅客姓名、年龄、性别、到达日期和所需房间等级。分配成功时打印旅客姓名、年龄、到达日期、房间等级、房间号码和床位号码。分配不成功时,如所有等级均无床位,则打印“客满”信息;如旅客需要的等级均无空床位,则打印“是否愿意更换等级?”的询问信息。若旅客愿意更换,则重新输入有关信息,再进行分配,否则分配工作结束。
(2) 旅客离开时,即进行床位回收。输入房间等级、房间号和床位号。

***隐藏网址***
提取码: 1111

设计内容:
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
设计要求:
1、系统以菜单方式工作
2、职工信息录入功能(职工信息用文件保存)--输入
3、职工信息浏览功能--输出
4、职工信息查询功能--算法
查询方式
按学历查询等
按职工号查询等
5、职工信息删除、修改功能(可选项)
6、按工号排序

***隐藏网址***
提取码: 1111

设计内容:
图书信息包括:书号、书名、作者名、分类号、出版社、出版时间、价格等。
设计功能:
1、系统以菜单方式工作
2、图书信息录入功能(图书信息用文件保存)--输入
3、图书信息的功能(插入、删除、修改)
4、图书信息浏览功能(按书号、书名、出版时间、价格等排序输出)。
5、图书信息查询功能(按书号、书名、作者名、出版社查询,提供模糊查询的功能)

***隐藏网址***
提取码: 1111

设计内容:
实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。
设计功能:
1、能够完成对设备的录入和修改
2、对设备进行分类统计
3、设备的破损耗费和遗损处理
4、设备的查询
要求:采用文件方式存储数据,系统以菜单方式工作

***隐藏网址***
提取码: 1111

设计内容:
设计一个学生选修课程系统,假定有n门课程,每门课程有:课程编号,课程名称,课程性质(公共课、必修课、选修课),总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。
设计功能:
1、系统以菜单方式工作
2、课程信息录入功能(课程信息用文件保存)--输入
3、课程信息的功能(插入、删除、修改)
4、课程信息浏览功能(按课程编号、课程名称、总学时、学分等排序输出)。
5、课程信息查询功能(按课程编号、课程名称、课程性质、开课学期等查询,提供模糊查询的功能)
6、学生选修课程
7、学生选课信息查询

***隐藏网址***
提取码: 1111

设计内容:
某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统。
设计功能:
1、系统以菜单方式工作
2、便条信息录入功能(便条信息用文件保存)--输入
3、收集到了上个月的所有便条后,读取销售情况
1)计算每个人每种产品的销售额。
2)按销售额对销售员进行排序,输出排序结果(销售员代号)
3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)(可选项)

***隐藏网址***
提取码: 1111

设计内容:
设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。
设计功能:
(1)查看功能:选择此功能时,列出下列三类选择。
A.办公类 B.个人类 C.商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)
(2)增加功能:能录入新数据
一个结点包括:姓名、电话号码、分类(A 办公类 B 个人类 C 商务类)、电子邮件)。
例如: 杨春 13589664454 商务类 chuny@126.com
当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。
(3)拔号功能:
能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。
(4)修改功能:
选中某个人的姓名时,可对此人的相应数据进行修改
(5)删除功能:
选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

***隐藏网址***
提取码: 1111

每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。
A、教师信息处理
(1) 输入教师信息
(2) 插入(修改)教师信息:
(3) 删除教师信息:
(4) 浏览教师信息:
  提示:具体功能及操作参考题1。
B、教师数据处理:
(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。
(2) 教师实发工资、应发工资、合计扣款计算。
  提示:计算规则如题目。
(3) 教师数据管理
  提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件
(4) 教师数据查询:
  提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。
(5) 教师综合信息输出
  提示:输出教师信息到屏幕。

***隐藏网址***

***隐藏网址***


提取码: 1111

中南大学c语言试题

C 语言程序设计试卷
一、单项选择题(每题1分,共20分)
1. C语言规定:在一个源程序中,main函数的位置( ① )。
A. 必须在最开始
B. 必须在系统调用的库函数的后面
C. 可以任意
D. 必须在最后

2. 下面四个选项中,均是合法浮点数的选项是( ① )。
A. +1e+1 5e-9.4 03e2
B. -.60 12e-4 -8e5
C. 123e 1.2e-.4 +2e-1
D. -e3 .8e-4 5.e-0

3. 若a=-14,b=3,则条件表达式 a《b? a:b+1的值为 。
A. -14 B. -13 C. 3 D. 4

4. 已知:int n,i=1,j=2;执行语句n=i《j?i++:j++;则i和j的值是( ① ).
A. 1,2 B. 1,3 C. 2,2 D. 2,3

5. 为了判断两个字符串s1和s2是否相等,应当使用( ① )
A. if (s1==s2) B. if(s1=s2)
C. if (strcmp(s1,s2))
D. if (strcmp(s1,s2)==0)

6. 以下正确的描述是( ① )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套。
B. 函数的定义不可以嵌套,但函数的调用可以嵌套。
C. 函数的定义和函数的调用均不可以嵌套。
D. 函数的定义和函数的调用均可以嵌套。

7. 在C语言中,下面对函数不正确的描述是( ① )。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。

8. 如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是( ① )。
A. 该变量只在该复合语句中有效
B. 该变量在该函数中有效
C. 该变量在本程序范围内均有效
D. 该变量为非法变量

9. 以下正确的函数形式是( ① )。
A. double fun(int x,int y) { z=x+y;return z;}
B. fun(int x,y) { int z; return z;}
C. fun(x,y) { int x,y; double z; z=x+y; return z;}
D. double fun( int x,int y) {double z; z=x+y; return z; }

10. 以下程序的输出结果是( ① )。
#include《stdio.h》
#define F(y) 8.19-y
#define PRINT(a) printf("%d",(int)(a))
void main(void)
{
int x=2;
PRINT(x*F(3));
}
A. 10 B. 13 C. 11 D. 报错

11. 以下程序中编译和运行结果均正确的一个是( ① )。
A. A. void main(void)
{
union
{
int n;
float x;
} comm={1};
printf("%d",comm.n);
}
B. B. void main(void)
{
union
{
int n;
float x;
} comm={12.5};
printf("%f",comm.x);
}
C. C. void main(void)
{
union
{
float x;
int n;
} comm={12.5}
printf("%f",comm.x);
}
D. D. void main(void)
{
union
{
int n;
float x;
} comm=5;
printf("%d", comm.n);
}

12. 设有定义:int a=1,*p=&a float b=2.0; char c=’A’; 以下不合法的运算是( ① )。
A. p++; B. a--; C. b++; D. c--;

13. 以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( ① )。
main()
{
int *p,*q,a,b;
p=&a
printf("input a:");
scanf("%d",*p);
…
}
A. *p表示的是指针变量p的地址
B. *p表示的是变量a 的值,而不是变量a的地址
C. *p表示的是指针变量p的值
D. *p只能用来说明p是一个指针变量

14. 若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32);后num的值为( ① )。
A. 4 B. 16 C. 32 D. 52

15. 已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( ① ),(注: _ 表示空格)
int al,a2,char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A. 10A_20_B B. 10_A_20_B C. 10A20B D. 10A20_B

16. 若有说明:int a; 则对a数组元素的正确引用是( ① )。
A. a

17. 在C语言中, 一维数组的定义方式为:
类型说明符 数组名 ① ;
A.
C.

18. 以下能对一维数组a进行正确初始化的语句是( ① )。
A. in a=(0,0.0,0,0);
B. int a={0};
D. int a={10*1};

19. 以下程序段( ① )。
x=-1;
do
{
x=x*x;
}
while(! x);
A. 是死循环 B. 循环执行二次
C. 循环执行一次 D. 有语法错误

20. 以下关于do-while循环的不正确描述是( ① )。
A. do-while的循环体至少执行一次
B. do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
C. 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作
D. do-while的循环体可以是复合语句

二、是非判断题(每题1分,共15分)
1. C语言规定,标识符中的字母一般区分大、小写。
2. 控制台标准输入设备一般是指键盘。
3. 使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。
4. 循环体中continue语句的作用是结束整个循环的执行。
5. 关系表达式的值是0或1。
6. 若有说明:int a可得到初值0。
7. 字符串作为一维数组存放在内存中。
8. 字符数组中的一个元素存放一个字符。
9. 字符数组中的最后一个字符必须是’\0’。
10. 形参为指针变量时,实参必须是数组名。
11. 用数组名作函数参数时传递的是数组的值。
12. 全局变量可以被任何一个函数中的任何一个表达式使用。
13. 一个函数可以带回一个整型值、字符值、实型值等,也可以带回指针型的数据。
14. 表达式i++与++i在任何场合功能完全相同。
15. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

三、多项选择题(每题1分,共5分)
1. 若要求在if 后一对圆跨括号中表示a不等于0的关系,则不能正确表示这一关系
的表达式为( ① ).
A.a《》0
B.!a
C.a=0
D.a
E.a!=0

2. 选出所有合法的常量( ① )。
A.3e22.5
B.-e-3
C.-.1e-1
D.’BASIC’
E.’\045’
F.0fd
G.0xfdaL
H.e8
I.’\\’
J."\""

3. 以下关于函数原型说法错误的是:
(1)对变量的定义”和“声明”是一回事,对函数的“定义”和“声明”也是一回事。
(2)在声明函数原型时,允许只写出参数的类型,而不必写出参数的名称。
(3)如果在定义函数时不指定函数类型,系统会隐含指定函数类型为int型。
(4)调用一个函数时,函数名、实参个数、实参类型必须与函数原型一致。
(5)如果被调函数的定义出现在主调函数之前,可以不必加以声明。
(6)所有的函数之间可以互相调用。
(7)在C语言中,所有函数都是平行的,一个函数不能从属于另一个函数,即不能嵌套定义的。
(8)如果函数没有返回值,在定义时可以省略函数类型。
(9)在C语言中,任何函数的定义都不允许为空。
(10)C语言规定,实参变量对形参变量的数据传递是“值传递”。

4. 请从下面关于指针的叙述中, 选出5个正确的叙述。
(1)指针即地址。
(2)指针须先赋值后使用。
(3)当指针p指向数组a的首址后,由于p都能引用数组元素,所以这里p和a是等价的。
(4)int *p表示定义了一个指向int类型数据的指针变量p。
(5)数组的指针是指数组的起始地址。
(6)若有定义int a,*p=a,则p++后p指向数组a所占内存的第二个字节。
(7)使用指针变量作函数参数采取的是"值传递"的方式。
(8)相同类型的指针可以进行减法运算。
(9)指针变量和许多变量一样可以进行四则运算。
(10)指针p指向数组元素a,执行p=p*2即可。

5. 以下关于数组的叙述中,5个最确切的说法是:
(1)在声明一个数组变量时必须指定大小。
(2)必须用常量表达式来说明一个数组变量的大小。
(3)在对数组进行初始化时大括号中的数据个数必须和数组的大小相同。
(4)有变量定义int a;,可以用b=a,使数组b的每个元素和a的每个元素相等。
(5)在C语言中,可以将字符串作为字符数组来处理。
(6)定义了字符数组char c;为了给它赋值,可以用c="china";。
(7)如果有char s={"I am a\0 student"};,则strlen(s)的值为6。
(8)C语言中,二维数组中元素排列的顺序是:按行存放。
(9)在C语言中,不能对局部的数组变量进行初始化。
(10)在声明时对数组进行进行初始化必须指定数组大小。

四、程序运行结果题(每题4分,共20分)
1. (4分)
下面程序的运行结果是( ① ) 。
#include《stdio.h》
void main(void)
{
int i;
char a="Tom";
for(i=0;a!=’\0’;i++)
if (a)
if (a-32);
else printf("%c",a+32);
else printf("*");
}

2. (4分)
下面程序段的运行结果是( ① ) 。
i=1;s=3
do
{
s+=i++;
if (s%7==0) continue;
else ++i;
} whlie(s《15);
printf("%d",i);

3. (4分)
若运行时输入:5999,则以下程序的运行结果(保留小数点后一位)是( ① )。
void main(void)
{
int x;
float y;
scanf("%d",&x);
if (x》=0 && x《=2999) y=18+0.12 * x;
if (x》=3000 && x《=5999) y=36+0.6*x;
if (x》=6000 && x《=10000) y=54+0.3*x;
printf("%6.1f",y);
}

4. (4分)
以下程序的运行结果是( ① )。
void main(void)
{
int a=1,k;
for(k=0;k《3;k++) printf("%4d",f1(a))
}
int f1(int x)
{
static int z=3,y=0;
y++;
z++;
return(x+y+z);
}

5. (4分)
以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include《stdio,h》
#include《math.h》
float fun1(float,float);
void main(void)
{
float x,y,z,sum;
scanf("%f%f%",&x,&y,&z);
sum=fun1( ① )+ fun1 ( ② );
printf("sum=%f\n",sum);
}
float fun1(float a,float b)
{
float num;
num=a/b;
return num;
}

五、程序填空题(每题2分,共20分)
1.下面程序的功能是用公式:π×π/6=1/(1×1)+1/(2×2)+1/(3×3)+......
求π的近似值, 直到最后一项的值小于10e-6为止。
#include 《stdio.h》
#include 《math.h》
void main(void)
{
long i=1;
① pi=0;
while (i*i《=10e+6) { pi= ② ; i++; }
pi=sqrt(6.0*pi);
printf("pi=%10.6f\n",pi);
}

2. 下面程序的功能是把以下给定的字符按其矩阵格式读入数组str1中,并输出行列号之和是3的数组元素。
void main(void)
{
char str1={’A’,’b’,’C’,’d’,’E’,’f’,’G’,’h’,’I’,’j’,’K’,’i’
};
int x,y,z;
for(x=0;x《4;x++)
for(y=0; ① ;y++)
{
z=x+y;
if ( ② ) printf("%c\n",str1);
}
}

3. 以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。
递归公式如下:
age(1)=10
age(n)=age(n-1)+2 (n》1)
#include《stdio.h》
int age(int n)
{
int c;
if (n==1) c=10;
else c= ① ;
return c;
}

4. 以下程序的功能是判断输入的年份是否是闰年。
void main(void)
{
int year,yes;
scanf("%d",&year);
if (year%400==0) yes=1;
else if ( ① ) yes=1;
else ② ;
if(yes) printf("%d is ",year);
else printf("%d is not ",year);
printf("a leap year.\n");
}

5. 以下程序实现: 输入三个整数,按从大到小的顺序进行输出。
void main(void)
{
int x,y,z,c;
scanf("%d %d %d",&x,&y,&z);
if ( ① ) { c=y;y=z;z=c;}
if ( ② ) { c=x;x=z;z=c;}
if ( ③ ) { c=x;x=y;y=c;}
printf("%d,%d,%d",x,y,z);
}

六、填空题(每题1分,共20分)
1. 在C语言中,一个float型数据在内存中所占的字节数为( ① )个字节;一个double型数据在内存中所占的字节数为( ② )个字节。

2. 若有定义:char c=’\010’; 则变量C中包含的字符个数为( ① )。

3. C源程序的基本单位是( ① )。

4. 在C语言中(以16位PC机为例),一个char型数据在内存中所占的字节数为( ① );
一个int型数据在内存中所占的字节数为( ② )。

5. 已有定义:
int m;
float n,k;
char chl,ch3;
为使m=3, n=6.5, k=12.6, ch1=’a’, ch3=’A’, 输入数据的格式为:
3 6.5 12.6aA
则对应的scanf语句是( ① );。

6. 执行下面的程序片段后,x的值是( ① )。
i=10; i++; x=++i;

7. 设a、b、c均是int 型变量,则执行以下for循环后,c的值为( ① )。
for(a=1,b=5;a《=b;a++) c=a+b;

8. 以下do-while语句中循环体的执行次数是( ① )。
a=10;
b=0;
do { b+=2; a-=2+b; } while (a》=0);

9. 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是( ① )。
for (x=0,y=0;y!=123&&x《3;x++)
scanf ("%d",&y);

10. 若有以下定义和语句:
int *p,i;
for(i=0;i《3;i++) p;
则*p+1)引用的是数组元素( ② )。

11. 设a=3,b=4,c=5,则表达式a||b+c&&b==c的值是( ① )。

12. 进行逻辑与运算的运算符是( ① )。

13. 若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是( ① )。

14. 下面程序片段中循环体的执行次数是( ① )次。
for(i=1,s=0;i《11;i+=2) s+=i;

15. 若有以下定义和语句:
int a={0,1,2,3},*p;
p=&a;
则*--p的值是( ① )。

16. 执行以下程序段后, s的值是( ① )
int a={5,3,7,2,1,5,3,10},s=0,k;
for(k=0;k《8;k+=2)
s+=*(a+k);

17. 执行以下程序段后,m的值是( ① )
int a={7,4,6,3,10},m,k,*ptr;
m=10;
ptr=&a;
for(k=0;k《5;k+=2)
m=(*(ptr+k)《m)?*(ptr+k):m;
答案:

一、单项选择题(20分)
1.~5.CBACD 6.~10.BDADB
11.~15.CABCC 16.~20.CACCB

二、是非判断题(15分)
√√√×√ √√√×× × √

三、多项选择题(5分)
1.ABC 2.CEGIJ 3.ADFHI 4.ABDEH 5.BEGHI

四、程序运行结果题(20分)
1. t*M
2. 8
3. 3635.4
4. 6 8 10
5. z+y,z-y^x+y,x-y

五、程序填空题(20分)
1. ①double ②pi+1.0/(i*i)
2. ①y《3 ②z==2
3. ①age(n-1)+2
4. ①year%4==0&&yeaar%100!=0 ②yes=0
5. ①z》y ②z》x ③y》x

六、填空题(20分)
1. ①4 / 四 ②8 / 八
2. ①1 / 1个
3. ①函数
4. ①1 / 一 ②2 / 二
5. ①scanf("%d%f%f%c%c",&m,&n,&k,&ch1,&ch3)
6. ①12
7. ①10
8. ①3..9. ①3..10. ①a
11. ①112. ①&&13. ①1.14. ①5
15. ①1
16. ①16
17. ①6

求c语言题库

编程题:
用编写C语言程序实现下面目的:
键盘输入圆柱的底半径r和高h,计算表面积S和体积V并输出。输入输出时要有文字说明,输出数取小数点后2位数字。
键盘输入三个数,编写程序将他们从大到小输出。
键盘输入一个字符,如果它是大写字母,则把它变成小写字母输出;若它是小写字母,则变成大写字母输出;其它字符不改变输出。编写程序实现这一过程。
编写程序实现以下函数功能:(求平方函数sqrt()在头文件math.h中包含,a的值用scanf函数从键盘输入)
编程实现:键盘输入一个整数,判断它是否能被3,5,7整除,并输出以下信息之一:
(1) 能同时被3,5,7整除;
(2) 能被其中两个数(要指出那两个)整除;
(3) 能被其中一个数(要指出那个数)整除;
(4) 不能被3,5,7整除。
编程实现:键盘读入两个数(data1和data2)及一个运算符(op),计算表达式
data1 op data2
的值,其中op可以是 +、-、*、/中的一种。例如:
输入: 1+2
输出:1.000000+2.000000=3.000000
输入: 1.0/2
输出:1.000000/2.000000=0.500000
输入: 3*2.5
输出:3.000000*2.500000=7.500000
等等
有1020个西瓜,第一天卖出一半多两个,以后每天卖剩下的一半多两个,编程求到第几天卖完。
键盘输入一串字符,计算其中的元音字符的个数和辅音字母的个数。例如输入:
I am a boy. You are a girl. 则元音有10个,辅音有8个,等等。输入时以回车(‘\n’)作为结束。
编程计算1-3+5-7+…-99+101的值。
从键盘输入6名学生的各5科成绩,分别统计并输出每个学生的平均成绩。
(每输入一个学生的5科成绩,就要输出他的平均成绩,输入输出要有提示。
例如:
请输入第1个人的成绩:
34
45
67
78
79
他的平均成绩为:?
请输入第2个人的成绩:………………)
从键盘输入若干整数(数据至多100个),其值在0至4范围,用-1作为输入结束标志,统计每个整数的个数。
输出完整的乘法九九表:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
……
13. 键盘输入一个字符串,反序输出。
例如输入: "How are you!"
则输出: "!uoy era woH"
若输入: "Holle the world!"
则输出: "!dlrow eht elloH"
等等
14. 编写程序,将键盘输入的两个字符串(str1和str2)连接起来,不要用strcat函数。
例如输入:str1:"I am a boy."
str2:"You are a girl."
连接后输出:
"I am a boy. You are a girl ."
15. 键盘输入十个数,用起泡法对它们由小到大排序。
16. 输出ASCII码为33~127字符的列表。输出方式:每行输出5个字符信息;对于每个字符,先输出十六进制转义字符方式,再输出普通字符方式。例如:
’\x21’ ! ‘\x22’ “ ‘\x23’ # ‘\x24’ $ ‘\x25’ %
等等。其中’\x21’中,单引号(’)、斜线(\)和字符x也要输出。
17. 输入某一科学生成绩,学生数少于100人,当输入成绩为0时结束输入。然后:
(1) 求成绩平均值xx;
(2) 求平均相对误差wucha_x。方法:wucha_x=(|x-xx|)/n
其中n是学生个数,求绝对值函数fabs()在头文件math.h中包含。
第八章函数:
已有变量定义和函数调用语句:
int a, b, h, l;
h=hcf(a, b); l=lcd(a,b);
hcf函数的作用是求两个数的最大公约数,lcf函数的作用是求两个数的最小公倍数。要求在主函数中从键盘输入两个整数分别赋值给变量a,b,然后调用两个函数求出最大公约数和最小公倍数,最后由主函数输出结果。
已有变量定义和函数调用语句:
char str1;
cpy(str1,str2);
cpy函数的作用是找出str1中的元音字母然后复制到str2中。要求在主函数中实现字符串的输入,并存放到字符数组str1中,函数调用后输出字符数组str1和str2中的内容。
给出年、月、日,计算该日是该年中的第多少天。其中计算过程由函数实现。
输入长方形的长a和宽b的值,通过一个函数调用计算出长方形的周长c和面积s,在主函数中输出长方形的周长和面积值。
已有变量定义语句
double a;int n;
和函数调用语句
mypow(a,b);
要求编写程序,用递归法求出a的n次方的值
写一个函数,实现用“选择法”对输入的10个字符按由小到大的顺序排列。在主函数中调用该函数并输出排序后的结果。
写一个函数,实现用“起泡法“对输入的10个字符按由大到小的顺序排列。在主函数中调用该函数并输出排序后的结果。
编写程序,要求从键盘输入月份号,输出该月的英文名字。例如,输入‘3’,则输出“Match”,输出要求用函数实现。
第十章指针
编一程序,将字符串中的第m个字符的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。(形参与实参均用指针变量)
用“起泡法”对输入的十个整数按由小到大的顺序排序。(对数组中各元素的操作要求用指针的方法)
编一程序,统计从键盘输入的命令行中第二个参数所包含的英文字符个数。
输入一行字符,要求找出其中大写字母、小写字母、空格、数字以及其他字符各有多少个?(要求用指针方法实现)
输入10个数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,要求写3个函数,分别实现
①输入10个数,
②进行处理,
③输出10个数。
编一程序,将字符串computer赋给一个字符指针,然后从第一个字母开始间隔地输出该串。要求用指针完成。
编一程序,要求从键盘输入两个数,通过函数调用比较两个数的大小,并把大数返回给主调函数,输出这个数。(要求两个变量的地址作为实参)
补充题目:
编写一个函数,统计出一个整数中包含的某一个数字的个数,例如:11254中包含有1个2。
求100以内的全部素数,每行输出10个数。要求判断一个数是否是素数由函数实现。
有36块砖,共36人搬,成年男子一次搬4块砖,成年女子一次搬3块砖,儿童两人抬1块砖,恰好一次全部搬完,编程求出成年男子、成年女子和儿童各多少人。
程序的功能是求三个数的最小公倍数。
max(int x,int y,int z)
{
If(x》y&&x》z) return(x);
else if(y》=x&&y》z) ;
else return(z);
}
main()
{
int a,b,c,i=1,j,s;
scanf(“%d%d%d”,&a,&b,&c);
s= ;
while(1)
{
j=s*i;
if( )
break;
i++;
}
printf(“%d”,j);
}
下面程序用于计算n!的值
main()
{
int i,s,n;
s=1;
printf(“enter n:”);
scanf(“%d”,&n);
for(i=1;i《=n;i++)
;
printf(“s=%d”,s);
}
阅读下面的程序,其结果为( )。
#include 《stdio.h》
main()
{
char c=’A’;
if(‘0’《=c《=’9’)
printf(“YES”);
else
printf(“NO”);
}
A.YES B.NO
C.YESNO D.语句错误

C语言期末试库试题

C语言期末题库试题赶紧复习

1,下列定义变量的语句中错误的是-----

A,int _int B、double int_ C、char For D、float US$答案:D一一知识点:常量、变量和标识符

2.以下不合法的用户标识符是-----

A、j2_KEY B、DoubleC、4d D、_8

答案:C一知识点:常量、变量和标识符

3.以下4组用户定义标识符中,全部合法的一组是-----

A、_main enclude sin B、If -max turbo C、txt REAL 3COMD、int k_2 _001 ???

答案:A一一知识点:常量、变量和标识符

4.以下定义语句中正确的是-----

A、char a=’A’ b=B;B、float a=b=10.0;(正解a=10.0 b=10.0)

C、int a=10,*b=&a; D、float *a,b=&a;???答案:C一知识点:常量、变量和标识符

5.以下不能定义为用户标识符的是-----

A、scanf B、VoidC、_3com D、int

答案:D一一知识点:常量、变量和标识符

6.以下有4组用户标识符,其中合法的一组是-----

A、For -sub Case B、4d DO Size

C、f2_G3 IF abc D、WORD Void define

答案:C一知识点:常量、变量和标识符

7.C语言中最简单的数据类型包括-----

A、整型、实型、逻辑型B、整型、实型、字符型

C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型

答案:B一一知识点:常量、变量和标识符

8.下列选项中,合法的C语言关键字是-----

A、VAR B、cher C、integer D、default答案:D一一知识点:常量、变量和标识符

9,以下不能定义为用户标识符的是-----

A、Main B、_0 C、_int D、sizeof

答案:D一知识点:常量、变量和标识符

10下列叙述中正确的是----

A、C语言中既有逻辑类型也有集合类型

B、C语言中没有逻辑类型但有集合类型

C、C语言中有逻辑类型但没有集合类型

D、C语言中既没有逻辑类型也没有集合类型答案:D一一知识点:常量、变量和标识符

11,当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是-----

A、c=b=a; B、(a=c)ll(b=c);C、(a=c)&&(b=c); D、a=c=b;

答案:C-知识点:赋值表达式

12.以下选项中非法的表达式是-----

A、0《=x《100 Bi=j==0 C、(char)(65+3) D、x+1=x+1

答案:D一一知识点:赋值表达式

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

#include 《stdio.h》 main() [ int a,b,d=241; a=d/100%9;

b=(-1)&&(-1);printf("%d,%d\n"a,b);???

A、61 B、2,1 C、6,0 D、2,0

答案:B一一知识点:赋值表达式

14.以下循环体的执行次数是-----

main() { int j; for (i=0,j=1; i《=j+1;i+=2,j--) printf("%d \n",i);

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

答案:C一一知识点:赋值表达式

15.有以下定义语句double a,b; int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是-----

A、a=a+b=b++ B、w%((int)a+b) C、(c+w)%(int)a D、w=a=b;答案:C一知识点:赋值表达式

16,有如下程序 main()[ int a; char c=10;loat f=100.0;double x;a=f/=c*=(x=6.5);printf("%d %d%3.1f%3.1f\n"a,c,f,x);程序运行后输出结果是-----

A、1 65 1 6.5 B、1 65 1.5 6.5 C、1 65 1.0 6.5

D、2 65 1.5 6.5

答案:B一一知识点:赋值表达式

17.若变量a、i已正确定义,且i已正确赋值,合法的语句是-----

A、a==1 B、++i; C、a=a++=5; D、a=int(i);

答案:B一一知识点: 赋值表达式

18,若变量已正确定义并赋值,下面符合C语言语法的表达式是-----

A、a:=b+1 B、a=b=c+2 C、int 18.5%3 D、a=a+7=c+b答案:B一一知识点:赋值表达式

19,设变量x为float型且已赋值,则以下语句中能将x中的数值保留到

小数点后两位,并将第三位四舍五入的是

A、x=x*100+0.5/100.0 B、x=(x*100+0.5)/100.0C、x=(int)(x*100+0.5)/100.0??? D、x=(x/100+0.5)*100.0

答案:C一一知识点:赋值表达式

20.在一个C程序中----

A、main函数必须出现在所有函数之前

B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后

D、main函数必须出现在固定位置

答案:B知识点:简单C语言程序的构成和格式

21,以下说法中正确的是----

A、#define和printf都是C语句 B、#define是C语句,而printf不是C、printf是C语句,但#define不是 D、#define和printf都不是C语句答案:D一知识点:简单C语言程序的构成和格式

22,若k是int型变量,且有下面的程序片段----

k=-3 if(k《=0) printf("####") elseprintf("&&&&");

上面程序片段的输出结果是

A、#### B、&&&& C、####&&&& D、有语法错误,无输出结果答案:D一一知识点:简单C语言程序的构成和格式

23.以下4个选项中,不能看作一条语句的是----

A、l;} B、a=0,b=0,c=0; C、if(a》0); D、if(b==0) m=1;n=2;? ??答案:D一一知识点:简单C语言程序的构成和格式

24,有以下程序main() [int a=0b=0;a=10;/* 给a赋值*/ b=20;/* 给b赋值*/ printf("a+b=%d\n",atb) } 程序运行后的输出结果是---

A、a+b=10 B、a+b=30 C、30 D、出错答案:B-一知识点:简单C语言程序的构成和格式

25.以下选项中,不能作为合法常量的是-----

A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0答案:B一一知识点:实型数据

28,以下符合C语言语法的实型常量是-----

A、1.2E0.5 B、3.14159E C、5E-3 D、E15答案:C一一知识点:实型数据

30,表达式36-5/2+1.2+5%2的值是----

A、4.3 B、4.8 C、3.3 D、3.8

答案:D-一知识点:算术表达式

31,设int a=12,则执行完语句a+=a-=a*a后,a的值是-----

A、552 B、264 C、144 D、-264

答案:D一知识点:算术表达式

32.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是_-----

A、x/y*z B、x*(1/(yz)) C、x/y*1/z D、x/ylz答案:A一一知识点:算术表达式

33,若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是-----

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

答案:B-一知识点:算术表达式

c语言,程序设计题,如图

c 语言程序设计练习题 c 语言程序设计练习题 篇一:c 语言程序设计基础单元总结与练习题及答案 答案 单元一程序设计宏观认识 单元总结提升 本...

C语言程序设计考试内容有哪些

C语言程序设计题型分值分布如下:

1.      单选题总共40道,每道题一分,其中基础知识共10道,总计40分;

2.      程序填空题一般2到4道,看难度给分,总计18分;

3.      程序改错题一般2到4道,看难度给分,总计18分;

4.      程序设计题1道,根据答出步骤给分,答出越多分越高直至满分,总计24分。

拓展知识(考试内容):

1.      C语言程序结构

明白如何运用main函数以及其他基础函数,会构建程序。知道源文件的书写格式,能看懂函数开始或结束的标志,能对基础程序注释且明白其作用。

2.      数据类型与运算

了解C的数据类型与定义方法,熟知C表达式类型且会基本运用。知道C运算符的种类与优先级,懂得数据类型之间如何转换运算。

3.      基础语句

懂得表达式语句、复合语句以及空语句,会调用输入输出函数,能根据要求正确写出输入输出格式的语句。

4.      选择结构语句

熟练掌握if语句以及switch语句的用法,懂得选择结构如何进行嵌套。

5.      循环结构语句

熟练掌握for语句、while或do-while语句、continue语句及break语句的使用方式,了解如何嵌套循环结构语句。

6.      数组的定义与运用

会对基本的一维、二维数组定义,能初始化数组并会引用,掌握字符串与数组的运用。

7.      函数

能对库中的函数进行基本调用,且熟知常用函数的作用及写法。知道函数的定义方法、类型与返回值,了解形参与实参的概念以及局部变量与全局变量的区别。

8.      指针

了解地址与指针变量的概念,会基本运用指针,通过指针引用各类数据。

9.      结构与联合

了解typedef的用法,会对结构体以及共同体进行定义与引用,可以通过链表对数据进行删除、插入以及输出。

文章分享结束,c语言程序设计题库和求c语言试题及答案!急啊!的答案你都知道了吗?欢迎再次光临本站哦!

c语言程序设计题库(求c语言试题及答案!急啊!)

本文编辑:admin

更多文章:


sd卡要求格式化怎么办(sd卡提示需要格式化,怎么恢复数据)

sd卡要求格式化怎么办(sd卡提示需要格式化,怎么恢复数据)

大家好,sd卡要求格式化怎么办相信很多的网友都不是很明白,包括sd卡提示需要格式化,怎么恢复数据也是一样,不过没有关系,接下来就来为大家分享关于sd卡要求格式化怎么办和sd卡提示需要格式化,怎么恢复数据的一些知识点,大家可以关注收藏,免得下

2026年11月3日 20:00

怎样安装手写输入法(手机手写输入法怎么设置)

怎样安装手写输入法(手机手写输入法怎么设置)

“怎样安装手写输入法”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看怎样安装手写输入法(手机手写输入法怎么设置)!

2026年11月3日 19:00

win10给c盘扩容(win10电脑c盘怎么扩大)

win10给c盘扩容(win10电脑c盘怎么扩大)

大家好,关于win10给c盘扩容很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于win10电脑c盘怎么扩大的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月3日 18:20

word文档怎么加一页(word文档怎么增加一页)

word文档怎么加一页(word文档怎么增加一页)

各位老铁们,大家好,今天由我来为大家分享word文档怎么加一页,以及word文档怎么增加一页的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月3日 17:50

win10系统自动重装(win10怎么重装win10系统)

win10系统自动重装(win10怎么重装win10系统)

“win10系统自动重装”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看win10系统自动重装(win10怎么重装win10系统)!

2026年11月3日 17:20

电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)

电脑重启死循环进不去(电脑出现无限自动重启的死循环如何解决)

其实电脑重启死循环进不去的问题并不复杂,但是又很多的朋友都不太了解电脑出现无限自动重启的死循环如何解决,因此呢,今天小编就来为大家分享电脑重启死循环进不去的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月3日 17:00

tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)

tif用什么打开(tif文件用什么打开Win10打开tif文件的详细步骤)

大家好,今天小编来为大家解答以下的问题,关于tif用什么打开,tif文件用什么打开Win10打开tif文件的详细步骤这个很多人还不知道,现在让我们一起来看看吧!

2026年11月3日 16:20

海外短视频跨境电商平台是真的吗(TikTok短视频带货到底值不值得做海外抖音赚钱靠谱吗)

海外短视频跨境电商平台是真的吗(TikTok短视频带货到底值不值得做海外抖音赚钱靠谱吗)

大家好,今天小编来为大家解答以下的问题,关于海外短视频跨境电商平台是真的吗,TikTok短视频带货到底值不值得做海外抖音赚钱靠谱吗这个很多人还不知道,现在让我们一起来看看吧!

2026年11月3日 15:40

方框中打 符号(方框内打勾符号怎么打)

方框中打 符号(方框内打勾符号怎么打)

本篇文章给大家谈谈方框中打 符号,以及方框内打勾符号怎么打对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年11月3日 15:00

更新最新显卡驱动(显卡驱动怎么更新)

更新最新显卡驱动(显卡驱动怎么更新)

大家好,今天小编来为大家解答以下的问题,关于更新最新显卡驱动,显卡驱动怎么更新这个很多人还不知道,现在让我们一起来看看吧!

2026年11月3日 14:10

最近更新

小米x90pro(小米12sultra和vivoX90pro+哪个好)
2026-11-03 19:30:19 浏览:0
mate40pro配置(华为mate40pro参数)
2026-11-03 19:20:19 浏览:0
荣耀magicboo(荣耀magicbook14-2021锐龙版有触屏功能吗-支持触屏吗)
2026-11-03 19:10:16 浏览:0
热门文章

flash cs6怎么下载(Adobe Flash CS6 Professional在哪下能破解吗)
2026-07-24 09:40:17 浏览:8
标签列表