谁能提供点C语言的试题给我,最好能有答案的,非常感谢!

作者&投稿:银尚 (若有异议请与网页底部的电邮联系)
帮我找一些有关C语言的习题吧,最好是带有答案的,非常感谢!!~

如果你刚刚开始学C的话就先看教材实例,如果你已经明白了基础就看看下面的,如果你已经能熟练运用指针,文件读写那就自己写一点小程序吧。

经典c程序100例
http://www.pconline.com.cn/pcjob/process/other/others/0601/750828.html

3.D
对于字符串,系统自动在字符串尾部加上'\0'表示结束
A,应该定义长度为6。char s[6]={“ABCDE”};这就对了
B、char s[5]={‘a’,’b’,’c’,’d’,’e’};这只能称为字符数组
C char s[6]={”a,b,c,d,e”};逗号也算字符,长度应该为10

6.A
fun1(x,10,(x,10),fun2(y,10,(y,10)));
x算一个,10算一个。(x,10)算一个,这是逗号表达式,其值取最后一项,就是10。fun2(y,10,(y,10))算一个,这是把函数的返回值作参数。
总共4个

7.B 根据运算符的优先级
a||b+c&&b-c等价于a||(b+c)&&(b-c)
就是3||9&&(-1) 只要表达式不为0 就认为是真 而真的值是1
3||9&&(-1)是真,那得到的结果就是1

8.B printf(“%s”,a);打印字符串时,遇见第一个'\0'就认为结束。



2. i= 13

switch(i){case 9:i+=1;
case 10:i+=1;
case 11:i+=1;
default :i+=1;
}
i=10 遇见case 10: 时就会执行i+=1。注意,此后会不加判断的直接执行之后的 ":"后面的语句
所以得13。这也就是为什么要求在case之后加break;的原因了。

3.0 (a+b+c)是真,那!(a+b+c)是假,也就是0

4.1 98&&7&&1 98 7 1都是真,那整个表达式也是真,就是1
5.对于字符串,系统自动在字符串尾部加上'\0'表示结束
所以"ABC"其实是"ABC\0" 4个字符。

本试卷共5页共5大题,考生在作答前应先检查是否有缺页、白页、以防漏答。查对无误后,请先填写学号、姓名、专业,再答卷。

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。(共10小题,每小题2分,共20分)。
1、不是C语言基本数据类型的是( )。
A、指针类型 B、整型
C、字符型 D、实型
2、设有:int a=3, b= 4, c= 5,x , y; 表达式(x=a)&&(y=b)&&0的值为( )。
A、1 B、0 C、3 D、4
3、设有语句 int a=3 ; 则执行了语句 a+ = a - = a后,变量a 的值是( )。
A、3 B、0 C、9 D、-12
4、执行以下程序后,y的值是( )
main()
{ int a[]={2,4,6,8,10};
int y=0,i,*p;
p=&a[0];
for(i=0;i<5;x++)
y+=*(p+i);
printf(“%d\n”,y);
}
A、17 B、18 C、19 D、30
5、有定义语句:float a[4];则分配给数组a的空间为( )字节。
A、 20 B、 12 C、 16 C、10
6、以下描述错误的是( )。
A、break语句可用于do~while语句
B、break语句和continue语句的作用是一样的
C、在循环语句中使用break语句是为了跳出循环,提前结束循环
D、在循环语句中使用continue语句是为了结束本次循环,而不终止整个循环
7、C语言中规定,if语句的嵌套结构中,else总是( )。
A、与最近的if 配对 B、与第一个if 配对
C、按缩进位置相同的if配对 D、与最近的且尚未配对的if 配对
8、说明语句“int (*p)( ); ”的含义是( ) 。
A、p是一个指向一维数组的指针变量
B、p是指针变量,指向一个整型数据
C、p是一个指向函数的指针,该函数返回一个int型数据
D、以上都不对
9、以下对二维数组c的正确声明是 ( ) 。
A、int c[3][ ]; B、int c(3,4); C、int c(2)(2); D、int c[3][2];
10、下述程序段执行后输出结果是( )。
int x=100, y=200;
printf ("% d", (x, y));
A、100 B、200 C、100,200 D、编译出错
二、填空题。(共10空,每空1分,共10分 )
1、C语言提供的三种逻辑运算符是 && 、 || 和!;
2、函数的返回值是通过函数中的 return 语句获得的。
3、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"定义后,a[2][2]的值为_6__ _;
4、对于"int *pa[5];" pa是一个具有5个元素的_数组指针_,每个元素是一个指向int型变量的__指针__;
5、单向链表的尾节点next指针应赋值__ NULL___;
6、for(int x=0,y=1;x&&y〈=5;y++)中循环体执行的次数是 0 。
7、int a[5];数组a的首地址为2000,则元素a[1]的地址为 2002 ,元素a[2]的地址为 2004 。
三、程序填空题。(共8空,每空2分,共16分 )
1、以下程序中子函数返回数组s中最大元素,数组中元素的个数由t传入。
Int findmax(int s[],int t)
{
int m,n,*p;
max=0;
p= s ;
for(n=1;n<t;n++)
if(*(p+max)<*(p+n)) max=n ;
return(*(p+max));;
}
Void main( )
{ int a[10];
int i;
for(i=0;i<10;i+=)
scanf(“%d”,&a[i]);
printf(“%d”,findmax{a,10});
}
2、以下程序完成计算1-1/2+1/3-1/4+..前n 项和的功能,请填空。
#include <stdio.h>
int main( )
{ int i, n, flag;
float sum;
scanf("%d", &n);
flag= 1 ;
sum=0;
for(i=1;i<=n; i++ )
{ sum+=(float)flag/i;
flag=-flag ;
}
printf("%.3f\n", sum);
}
3、以下程序的功能是从键盘输入n个整数,统计其中正数、0、负数的个数,请填空。
#include <stdio.h>
int main( )
{int a, i, count1,count2,count3;
count1=cout2=count3=0 ;
for(i=1;i<=n;i++)
{ scanf(“%d”, &a);
If(a>0) count1++;
Else if(i==0) count2++ ;
Else count3++;
}
printf(“正数:&d个,零:%d个,负数:%d个\n”, count1,count2,count3);
}
四、运行程序结果。(共4小题,每小题6分,共24分)
1、运行时输入100,200,请写出程序运行结果。
Void main( )
{
int a, b,*p1,*p2 ;
scanf ( " % d ", & a , );
scanf ( " % d ", & b );
printf(“a=%d,b=%d”,a,b);
p1=&a; p2=&b;
swap ( p1,p2);
printf(“a=%d,b=%d”,a,b);
}
Void swap ( int *p1, *p2)
{
int t ;
t=*p1; *p1=*p2; *p2=t;
}
运行结果为:
a=100,b=200a=200,b=100

2、运行时若输入1 2 3 4 -5<回车>,写出程序运行结果。
#include <stdio.h>
int main( )
{
int x, sum;
scanf("%d", &x);
sum=0;
while(x>0)
{ if(x%2!=0) sum+=x;
scanf("%d", &x);
}
printf("sum=%d\n", sum);
}
运行结果为:
sum=4

3、写出程序运行结果。
#include<stdio.h>
int max(int a,int b)
{ int c;
c=a>b?a:b;
return(c);
}
int min(int a,int b)
{int c;
c=a<b?a:b;
return(c);
}
void main()
{ int a=2,b=6;
printf("max=%d\n",max(a,b));
printf(“min=%d\n”,min(a,b));
}
运行结果为:
max=6
Min=2

4、运行时若输入4 1 2 3 0<回车>,写出程序运行结果。
#include <stdio.h>
int main( )
{
int i, index, n;
int a[10];
scanf("%d", &n);
for(i=0; i<n; i++)
scanf("%d", &a[i]);
index=0;
for(i=1;i<n;i++)
{ if(a[i]<a[index]) index=i; }
printf("min=%d,index=%d\n", a[index],index);
}
运行结果为:
min=0,index=3

五、程序设计.( 共3小题,每小题10分,共30分)
1、输入10个字符串,将其按由小到大排序。
#include<stdio.h>
#include<string.h>
Void main( )
{ char c[10][20],t[10];
Int I, j,k;
For(i=0;i<10;i++)
Gets(c[i]);
For(i=0;i<9;i++)
{ k=I;
For(j=i+1;j<10;j++)
If(strcmp(c[k],c[j])>0) k=j;
If(k!=i) { strcpy(t,c[k]); strcpy(c[k],c[i]); strcpy(c[i],t); }
For(i=0;i<10;i++)
Puts(c[i]);
}
2、求出1!+2!+3!+…+8!。
#include<stdio.h>
Float fact(int n)
{ float f;
If(n==1||n==0) f=1;
Else f=fact(n-1)*n;
Return(f);
}
Void main( )
{float sum;
Int I;
Sum=0;
For(i=1;i<=8;i++)
Sum+=fact(i);
Printf(“sum=%d\n”,sum);
}
3、请写出在一个单向链表中插入一个结点的函数:
struct student *insert(struct student *head, struct student *stud)
(说明:链表结点有两个成员:数据成员data和指针成员next)。
#include <stdio.h>
#include <malloc.h>
#define NULL 0
#define LEN sizeof(struct student)
struct student
{ int data;
struct student *next;
};
int n;
struct student *insert(struct student *head, struct student *stud)
{struct student *p0,*p1,*p2;
p1=head;p0=stud; if(head==NULL)
{head=p0; p0->next=NULL;}
else{while((p0->data>p1->data) && (p1->next!=NULL))
{p2=p1; p1=p1->next;}
if(p0->data<=p1->data) {if(head==p1) head=p0;
else p2->next=p0; p0->next=p1;}
else {p1->next=p0; p0->next=NULL;}}
n=n+1; return(head);
}

VC编程经验总结

VC编程资料

VC常见问题集(中文)

VC新手学堂

WinApi参考手册

MFC参考手册

用VC开发ACTIVEX

用DirctX9进行高级3D游戏程序设计

APracticalGuideUsingVisual C++andATL

超级菜鸟黑客速成图文教程

21天学会VC数据库编程

STL轻松入门

InsideAtl

COM+组件服务技术内幕

MFC参考手册

Windows网络编程技术

OpenGL基础图形编程

MFC程序设计

VC技术内幕

Windows核心编程

21天学会ActiveX编程

黑客技巧大全

游戏编程大师技巧(第二版)

VC高级编程

vchome图形图像编程技术篇

VC知识库

vc++ 编程指南

外挂制作教程

Windows程序设计

Winsock程序员疑难解答

Microsoft编程精粹

百度“xin3721视频教程网”在编程专区有金文主讲的C语言视频教程免费的在线看的


C语言程序设计试卷 求两份不同的答案 一、找出1000以内所有能同时被3...
一:include<stdio.h>int main(){int i;for(i=7;i<1001;i++)if(i%3==0&&i%5==0&&i%7==0)printf("%d\\n",i);return 0;}二:include<stdio.h>int main(){int a[10],i,sum=0;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if(a[i]<0)sum++;...

c语言入门必收藏,可以参考的学习网站?
c语言入门,可以参考的学习网站?1、cplusplus:一个优秀的C++学习网站,除了提供相应的教程之外,还有一个很棒的论坛。和其它网站相比,它的价值更多体现在参考上,因为里面解释了许多编程概念。2、C++ Source Codes:345个比较全面的关干C++的源代码清单。3、C++ FAQ:C++常见问题,项目工程中遇到的很多...

C语言编程 考试,复制后能直接运行的 从键盘输入正整数n,计算n!并输...
include<stdio.h>void main(){int n,m,i;printf("输入n的值:"); scanf("%d",&n);if(n==0||n==1){m=1;printf("n的阶乘为:%d\\n",m);}else{m=1;for(i=n;i>0;i--)m=m*i;printf("n的阶乘为:%d\\n",m);}}\/\/刚写的,运行通过 ...

c语言考试考什么?
Csp主要考:大学计算机专业所学习的程序设计、数据结构、算法以及相关的数学基础知识。csp是计算机软件能力认证的一种考试。csp重点考察软件开发者实际编程能力。CSP认证考试全部采用上机编程方式,可供报考编程语言为C\/C++、Java或Python,考生报名时需选择报考语言,考试时只得使用报名时的语言参加认证。考核为...

【求助】明天就要考试了,麻烦各位解答点C语言习题
建议楼主看些c的基本教程,7道不算多,前两天我做了一个200分20多道题的,有例为证:http:\/\/zhidao.baidu.com\/question\/57783198.html vc6.0 运行通过 1.有一篇文章,共有两行,每行60个字符,要求分别统计出其中的英文大写字母,小写字母,数字,逗号 及其他的字符个数?(用二维数组来储存)i...

C语言程序设计考试内容有哪些?
3. 程序改错题一般2到4道,看难度给分,总计18分;4. 程序设计题1道,根据答出步骤给分,答出越多分越高直至满分,总计24分。拓展知识(考试内容):1. C语言程序结构 明白如何运用main函数以及其他基础函数,会构建程序。知道源文件的书写格式,能看懂函数开始或结束的标志,能对基础程序...

C语言编程 考试,要求复制后能直接运行 从键盘输入一个三位正整数,分解...
include"stdio.h"include "math.h"void main(){ int a,i=-1;printf("请输入一个三位数:\\n");scanf("%d",&a);int b;while(a\/10!=0){ i++;b=a%10;printf("第%d位是%d\\n",i,b);a = a\/10;} printf("第%d位是%d\\n",++i,a);return;} ...

c语言考试考什么
C语言考试主要考程序设计\/办公软件高级应用级。考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言,可选类别有高级语言程序设计类、数据库程序设计类等。C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生...

写c语言用什么软件
Sublime Text是一款高级文本编辑器,也支持C语言的编写。它提供了丰富的功能,如代码高亮、智能提示、Git集成等。Sublime Text的界面美观,操作流畅,同时还支持插件和自定义快捷键,使得开发者可以根据自己的习惯来定制开发环境。以上软件都有各自的优点和适用场景,开发者可以根据自己的需求和喜好选择合适的...

计算机二级c语言考什么
二级计算机是国家计算机等级考试的一部分,主要考察的是C语言的计算机编程能力。考核内容包括计算机语言与基础程序设计能力,要求参试者掌握一门计算机语言。具体考点如下:1、C语言程序的结构。需重点了解程序的构成,main函数和其他函数,源程序的书写格式。2、数据类型及其运算。包括C的数据类型(基本类型,...

灵川县19879116952: 谁有c语言经典题目?
旗之复方: 【程序16】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 1.程序分析:利用辗除法. 2.程序源代码: main() { int a, b, num1, num2, temp; printf( "please input two numbers: n" ); scanf( "%d, %d" , &num1, &num2); if (num1 < ...

灵川县19879116952: 帮我找点C语言的考试题呗! -
旗之复方: C语言综合考试题 班级____________ 姓名_____________ 学号______________ 总分_____ 一选择题:(包括单选和多选)【每题2.5分】 1.一个C程序的执行是从( ) A:本程序的main函数开始,到main函数结束 B:本程序文件的第一个...

灵川县19879116952: 几道C语言试题,谢谢帮忙
旗之复方: BCABDD最后一道题,你可以用输出语句尝试一下,我尝试的结果是选项D.分析:a[2]在此是一个地址,加3之后就指向a[2][3]出,即a[2]+3为a[2][3]的地址,通过取内容运算符“*”取出该处的内容a[2][3]的值.

灵川县19879116952: c语言程序设计试题 -
旗之复方: 第一题:#include int main() { int a[100]; for(int i=0;i scanf("%d",&a[i]); int x=0,y=0,z=0;//分别是正数、负数、零的个数 for(int i=0;i if(a[i]==0) z++; if(a[i]>0) x++; if(a[i] y++; } printf("正数个数: ");printf("%d\n",x); printf("负数个数: ")...

灵川县19879116952: 有个C语言考试题谁帮帮我
旗之复方: 输入的第一个数你可以定为最大值或最小值 后面的依次和最大值或最小值判断 根据结果更新最大 最小值 平均值就加一块除以10呗

灵川县19879116952: 计算机c语言考试题 -
旗之复方: 有选择题40道,40分;程序填空题一道18分,程序改错题一道18分,程序设计题一道24分,程序题都是用vc来做的

灵川县19879116952: c语言测试题谁能解答一下贡参考 -
旗之复方: 1.主程序是程序的切入点,所有一个程序只能有一个主程序,否则程序该从哪里开始执行?所有A是对的 2.2的八次方-1=256-1=255 3.A,只要有语句结束符;可以放任意多的语句 B,C语言中的输入输出是在stdio.h库中存在,本身不存在 C,这个...

灵川县19879116952: 我有5题C语言题目 谁帮我作一下 -
旗之复方: 第一道题目: 1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母. 2.程序源代码: void main() { char letter; printf("please input the first letter of someday\n"); while((letter = getch()) != 'Y') /* 当所...

灵川县19879116952: 有关C语言编程的题 很简单的 考试题
旗之复方: #include <stdio.h> void main() { int counter,i=0; int temp; int flag; while(1) { i++; counter=5; temp=i; flag=1; while(counter--) { if((temp-1)%5==0) { temp--; temp=temp*4/5; } else { flag=0; counter=0; } } if(flag) { printf("一共鱼%d条\n",i); break; } } }看看对不对!

灵川县19879116952: 求一张C语言的期末考试卷,我是大一的新生,想看看试卷的大概格式和内容. -
旗之复方: 本试卷共8页,共5大题,考生在作答前应先检查是否有缺页、白页,以防漏答.答题前,请先填写学号、姓名、专业及班级.一、单项选择题(共10题,每题2分,共20分.在备选答案中选择一个最佳答案.多选、错选、不选不得分)1、不是C...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网