C语言程序设计卷子。各位大哥帮帮忙,我只有120分钟。
一、单项选择题(10道小题,共10分)1、以下程序的输出结果是:main(){intnum=0;while(num<=2){num++;printf(“%d”,num);...
一、单项选择题(10道小题,共10分)
1、以下程序的输出结果是:main( ) { int num=0; while (num<=2) { num++; printf(“%d”,num); } }(1分)
A、1234 B、123
C、12 D、1
2、以下错误的描述是()(1分)
A、break语句不能用于循环语句和switch语句外的任何其它语句 B、在switch语句中使用break语句或continue语句的作用相同
C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在循环语句中使用break语句是为了跳出循环体,提前结束循环
3、strlen( ”\\\018a,0\””)的值为():(1分)
A、11 B、8
C、7 D、6
4、已知 int j;i=1;执行语句j=-i++;后,j的值是()(1分)
A、1 B、2
C、–1 D、–2
5、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x++); },程序运行后,输出结果是():(1分)
A、3 B、4
C、5 D、6
6、已知:char i=’A’;float f=11.5;正确的语句是():(1分)
A、(int f)%i B、int(f)%i
C、int(f%i) D、(int)f%i
7、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中 0 ≤ i ≤ 9, 则对a数组元素不正确的引用是()(1分)
A、a[p-a] B、*(&a[i])
C、p[i] D、a[10]
8、有如下程序段:int w=1; x=2; y=3; z=4; m =(w<x) ? w : x; m =(m<y) ? m : y; m =(m<z) ? m : z; 该程序段执行后,m的值是:(1分)
A、4 B、3
C、2 D、1
9、下列常数中不能作为C的常量的是()(1分)
A、0xA5 B、2.5e-2
C、3e2 D、3e2.5
10、以下程序的输出结果是:main(){int x; for(x=1;x<10;x++) for(x=10;x<10;x++); printf("%d\n",x);}(1分)
A、11 B、10
C、12 D、9
二、简答题(6道小题,共30分)
1、编写程序。从键盘输入一串字符,以回车作为结束。统计其中各数字字符的数目。
(10分)
请将你解答本题所写的源程序粘贴到下面
2、编写程序,计算并输出下面级数前n项(n=30)的部分和。
1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+ ……
(10分)
请将你解答本题所写的源程序粘贴到下面
3、 编写程序,用双循环结构输出下列三角形:
1 2 3 4 5 6 7
1 2 3 4 5
1 2 3
1
(10分)
请将你解答本题所写的源程序粘贴到下面
4、编写程序,计算下面级数前n项(n=20)的部分和,并输出
该级数最后两项之差的绝对值。
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
(10分)
请将你解答本题所写的源程序粘贴到下面
5、编写程序。从键盘输入100个数,将正数升序排列到数组的前端,把0放在中间,负数按降序排列在0的后面。
(10分)
请将你解答本题所写的源程序粘贴到下面
6、设有两个二进制文件,里面存放的是有序(从小到大)的整数,将这两个文件合并成一个仍然是有序的整数文件。
(10分)
请将你解答本题所写的源程序粘贴到下面
三、编程题(6道小题,共60分)
1、文件包含的两种格式是什么?有什么区别?
(5分)
2、如何理解指针?
(5分)
3、C语言的数据文件有哪些?都有什么特点?
(5分)
4、C语言的预处理有哪几种?各有什么作用?
(5分)
5、写出switch 分支结构的语法结构,并写出其执行过程。
(5分)
6、谈谈C语言的表达式。
大哥,帮忙啦。。小弟在线等。。。做完了我加分。。好不好。。 第二大题少一题哇。 展开
1、以下程序的输出结果是:main( ) { int num=0; while (num<=2) { num++; printf(“%d”,num); } }(1分)
A、1234 B、123
C、12 D、1
2、以下错误的描述是()(1分)
A、break语句不能用于循环语句和switch语句外的任何其它语句 B、在switch语句中使用break语句或continue语句的作用相同
C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在循环语句中使用break语句是为了跳出循环体,提前结束循环
3、strlen( ”\\\018a,0\””)的值为():(1分)
A、11 B、8
C、7 D、6
4、已知 int j;i=1;执行语句j=-i++;后,j的值是()(1分)
A、1 B、2
C、–1 D、–2
5、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x++); },程序运行后,输出结果是():(1分)
A、3 B、4
C、5 D、6
6、已知:char i=’A’;float f=11.5;正确的语句是():(1分)
A、(int f)%i B、int(f)%i
C、int(f%i) D、(int)f%i
7、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中 0 ≤ i ≤ 9, 则对a数组元素不正确的引用是()(1分)
A、a[p-a] B、*(&a[i])
C、p[i] D、a[10]
8、有如下程序段:int w=1; x=2; y=3; z=4; m =(w<x) ? w : x; m =(m<y) ? m : y; m =(m<z) ? m : z; 该程序段执行后,m的值是:(1分)
A、4 B、3
C、2 D、1
9、下列常数中不能作为C的常量的是()(1分)
A、0xA5 B、2.5e-2
C、3e2 D、3e2.5
10、以下程序的输出结果是:main(){int x; for(x=1;x<10;x++) for(x=10;x<10;x++); printf("%d\n",x);}(1分)
A、11 B、10
C、12 D、9
二、简答题(6道小题,共30分)
1、编写程序。从键盘输入一串字符,以回车作为结束。统计其中各数字字符的数目。
(10分)
请将你解答本题所写的源程序粘贴到下面
2、编写程序,计算并输出下面级数前n项(n=30)的部分和。
1/(1*2)+1/(2*3)+1/(3*4)+…+1/(n*(n+1))+ ……
(10分)
请将你解答本题所写的源程序粘贴到下面
3、 编写程序,用双循环结构输出下列三角形:
1 2 3 4 5 6 7
1 2 3 4 5
1 2 3
1
(10分)
请将你解答本题所写的源程序粘贴到下面
4、编写程序,计算下面级数前n项(n=20)的部分和,并输出
该级数最后两项之差的绝对值。
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
(10分)
请将你解答本题所写的源程序粘贴到下面
5、编写程序。从键盘输入100个数,将正数升序排列到数组的前端,把0放在中间,负数按降序排列在0的后面。
(10分)
请将你解答本题所写的源程序粘贴到下面
6、设有两个二进制文件,里面存放的是有序(从小到大)的整数,将这两个文件合并成一个仍然是有序的整数文件。
(10分)
请将你解答本题所写的源程序粘贴到下面
三、编程题(6道小题,共60分)
1、文件包含的两种格式是什么?有什么区别?
(5分)
2、如何理解指针?
(5分)
3、C语言的数据文件有哪些?都有什么特点?
(5分)
4、C语言的预处理有哪几种?各有什么作用?
(5分)
5、写出switch 分支结构的语法结构,并写出其执行过程。
(5分)
6、谈谈C语言的表达式。
大哥,帮忙啦。。小弟在线等。。。做完了我加分。。好不好。。 第二大题少一题哇。 展开
3个回答
2010-10-21
展开全部
baadd,abdad
第一题
#include<stdio.h>
int main()
{
char szTest[100];
int i=0;
int count[5]={0};//count[0]数字、count[1]大写字母、count[2]小写字母、count[3]空格、count[4]其它字符,初始化为0
scanf("%s",&szTest);
while(szTest[i]!='\0')
{
if(szTest[i]>='0' && szTest[i]<='9')
count[0]++;
else if(szTest[i]>='A' && szTest[i]<='Z')
count[1]++;
else if(szTest[i]>='a' && szTest[i]<='z')
count[2]++;
else if(szTest[i]==' ')
count[3]++;
else
count[4]++;
i++;
}
printf("数字%d 大写字母%d 小写字母%d 空格%d 其它字符%d \n",count[0],count[1],count[2],count[3],count[4]);
return 0;
}
第二题
long f()
{
int i;
long sum;
sum = 0;
for (i=1 ; i<=30 ; i ++)
{
sum += i*(i+1)*(i+2);
}
return sum;
}
第三题
#include<iostream>using namespace std;
main(){
int i,j;
for(i=7;i>=1;i--)
{for(j=4;j>=1;j--)
{
printf(j);
printf(\n);
}}
第四题
long t()
{
int i;
long sum;
long num1;
long num2;
long num;
sum = 0;
for (i=1 ; i<=20 ; i ++)
{
sum += i*(i+1)*(i+2);
}
for(i=1;i=19;i++)
{
num1 += i*(i+1)*(i+2);
}
for(i=1;i=20;i++)
{
num2 += i*(i+1)*(i+2);
}
num=num2-num1;
return num;
}
第五题
#include "stdio.h"
#define N 10
main()
{
int i,j,k,a[N],t;
printf("请输入100个整数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(k=0;a[k]>0;k++);
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
指针与C语言
大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有c语言的指针才能算指针。basic不支持指针,在此不论。其实,pascal语言本身也是支持指针的。从最初的pascal发展至今的object pascal,可以说在指针运用上,丝毫不会逊色于c语言的指针。
C语言的数据文件:
C语言中可以按文本(ASCII文件)或者二进制方式处理数据文件,文本文件通常用于人们的直接阅读,二进制文件则用于保存程序在运行过程中用到的二进制数据,而且对二进制文件的处理效率也比对ASCII文件要高。
预处理指令:
#空指令,无任何效果
#include包含一个源代码文件
#define定义宏
#undef取消已定义的宏
#if如果给定条件为真,则编译下面代码
#ifdef如果宏已经定义,则编译下面代码
#ifndef如果宏没有定义,则编译下面代码
#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif结束一个#if……#else条件编译块
#error停止编译并显示错误信息
switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}
第一题
#include<stdio.h>
int main()
{
char szTest[100];
int i=0;
int count[5]={0};//count[0]数字、count[1]大写字母、count[2]小写字母、count[3]空格、count[4]其它字符,初始化为0
scanf("%s",&szTest);
while(szTest[i]!='\0')
{
if(szTest[i]>='0' && szTest[i]<='9')
count[0]++;
else if(szTest[i]>='A' && szTest[i]<='Z')
count[1]++;
else if(szTest[i]>='a' && szTest[i]<='z')
count[2]++;
else if(szTest[i]==' ')
count[3]++;
else
count[4]++;
i++;
}
printf("数字%d 大写字母%d 小写字母%d 空格%d 其它字符%d \n",count[0],count[1],count[2],count[3],count[4]);
return 0;
}
第二题
long f()
{
int i;
long sum;
sum = 0;
for (i=1 ; i<=30 ; i ++)
{
sum += i*(i+1)*(i+2);
}
return sum;
}
第三题
#include<iostream>using namespace std;
main(){
int i,j;
for(i=7;i>=1;i--)
{for(j=4;j>=1;j--)
{
printf(j);
printf(\n);
}}
第四题
long t()
{
int i;
long sum;
long num1;
long num2;
long num;
sum = 0;
for (i=1 ; i<=20 ; i ++)
{
sum += i*(i+1)*(i+2);
}
for(i=1;i=19;i++)
{
num1 += i*(i+1)*(i+2);
}
for(i=1;i=20;i++)
{
num2 += i*(i+1)*(i+2);
}
num=num2-num1;
return num;
}
第五题
#include "stdio.h"
#define N 10
main()
{
int i,j,k,a[N],t;
printf("请输入100个整数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(k=0;a[k]>0;k++);
for(i=0;i<k;i++)
for(j=i+1;j<k;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
指针与C语言
大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是c语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有c语言的指针才能算指针。basic不支持指针,在此不论。其实,pascal语言本身也是支持指针的。从最初的pascal发展至今的object pascal,可以说在指针运用上,丝毫不会逊色于c语言的指针。
C语言的数据文件:
C语言中可以按文本(ASCII文件)或者二进制方式处理数据文件,文本文件通常用于人们的直接阅读,二进制文件则用于保存程序在运行过程中用到的二进制数据,而且对二进制文件的处理效率也比对ASCII文件要高。
预处理指令:
#空指令,无任何效果
#include包含一个源代码文件
#define定义宏
#undef取消已定义的宏
#if如果给定条件为真,则编译下面代码
#ifdef如果宏已经定义,则编译下面代码
#ifndef如果宏没有定义,则编译下面代码
#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码
#endif结束一个#if……#else条件编译块
#error停止编译并显示错误信息
switch语句的语法如下(switch,case和default是关键字):
switch ( controllingExpression )
{
case constantExpression :
statements
break;
case constantExpression :
statements
break;
...
default :
statements
break;
}
展开全部
1L给的程序是 C++的 不是C的 选择题也不太对吧 switch 中不能用 continue,我刚试过的
还有我选择踢 基本都是 编译 运行的 输出的结果
程序题 全部编译运行过
一、单项选择题
1.B 2.B 3.C 4.C 5.B 6.D 7.D 8.D 9.D 10.B
二、简答题
1.
#include<>和 #include""
#include<>是在系统默认的头文件库中搜索,
#include"" 是在用户的目录下搜索
2.
一种用于储存变量地址的数据类型
3.
C语言中可以按文本(ASCII文件)或者二进制方式处理数据文件,文本文件通常用于人们的直接阅读,二进制文件则用于保存程序在运行过程中用到的二进制数据,而且对二进制文件的处理效率也比对ASCII文件要高
4.
文件包含指令(#include)
宏定义指令(#define)
条件编译指令(#ifdef、#endif、#elif、#if等)
宏作用域结束指令(#undef)
定义行号指令(#line)
产生错误信息指令(#error)
5.
switch(表达式)
{
case 值1:表达式1;
case 值2:表达式2;
case 值3:表达式3;
...
case 值n:表达式n;
default:表达式n+1;
}
执行过程 如果是m(1<=m<=n+1),则从m对应的表达式m开始,
执行表达式m,表达式m+1,表达式m+2,...表达式n,表达式n+1
6.略
三、编程题
1.
#include<stdio.h>
#efine n 30
int main()
{
char ch;
int cnt=0;
scanf("%c",&ch);
while(ch!='\n') {
if(ch<='9'&&ch>='0')
cnt++;
scanf("%c",&ch);
}
printf("%d\n",cnt);
return 0;
}
2.
#include<stdio.h>
#define N 30
int main()
{
int i;
double sum=0;
for(i=1;i<=N;i++){
sum+=(double)1/(i*(i+1));
printf("%d__%lf\t",i,sum);
}
return 0;
}
3.
#include<stdio.h>
int main()
{
int i,j;
for(i=0;i<4;i++){
for(j=0;j<i;j++)
printf(" ");
for(j=1;j<8-i*2;j++){
printf("%d",j);
}
printf("\n",j);
}
return 0;
}
4.
#include<stdio.h>
#define N 20
int main()
{
int i;
long sum=0;
for(i=1;i<=N;i++){
sum+=i*(i+1)*(i+2);
}
printf("%ld\t%ld",sum,(i-1)*i*(i+1));
return 0;
}
5.
#include<stdio.h>
#define N 100
int main()
{
int i,j,k;
float num[N],tmp;
for(i=0;i<N;i++){
scanf("%f",&num[i]);
}
for(i=0;i<N-1;i++)
for(i=i;i<N;i++)
if(num[i]<num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
for(k=0;k<N||num[k]>0;k++);
for(i=0;i<k-1;i++)
for(i=i;i<k;i++)
if(num[i]>num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
return 0;
}
6.略
还有我选择踢 基本都是 编译 运行的 输出的结果
程序题 全部编译运行过
一、单项选择题
1.B 2.B 3.C 4.C 5.B 6.D 7.D 8.D 9.D 10.B
二、简答题
1.
#include<>和 #include""
#include<>是在系统默认的头文件库中搜索,
#include"" 是在用户的目录下搜索
2.
一种用于储存变量地址的数据类型
3.
C语言中可以按文本(ASCII文件)或者二进制方式处理数据文件,文本文件通常用于人们的直接阅读,二进制文件则用于保存程序在运行过程中用到的二进制数据,而且对二进制文件的处理效率也比对ASCII文件要高
4.
文件包含指令(#include)
宏定义指令(#define)
条件编译指令(#ifdef、#endif、#elif、#if等)
宏作用域结束指令(#undef)
定义行号指令(#line)
产生错误信息指令(#error)
5.
switch(表达式)
{
case 值1:表达式1;
case 值2:表达式2;
case 值3:表达式3;
...
case 值n:表达式n;
default:表达式n+1;
}
执行过程 如果是m(1<=m<=n+1),则从m对应的表达式m开始,
执行表达式m,表达式m+1,表达式m+2,...表达式n,表达式n+1
6.略
三、编程题
1.
#include<stdio.h>
#efine n 30
int main()
{
char ch;
int cnt=0;
scanf("%c",&ch);
while(ch!='\n') {
if(ch<='9'&&ch>='0')
cnt++;
scanf("%c",&ch);
}
printf("%d\n",cnt);
return 0;
}
2.
#include<stdio.h>
#define N 30
int main()
{
int i;
double sum=0;
for(i=1;i<=N;i++){
sum+=(double)1/(i*(i+1));
printf("%d__%lf\t",i,sum);
}
return 0;
}
3.
#include<stdio.h>
int main()
{
int i,j;
for(i=0;i<4;i++){
for(j=0;j<i;j++)
printf(" ");
for(j=1;j<8-i*2;j++){
printf("%d",j);
}
printf("\n",j);
}
return 0;
}
4.
#include<stdio.h>
#define N 20
int main()
{
int i;
long sum=0;
for(i=1;i<=N;i++){
sum+=i*(i+1)*(i+2);
}
printf("%ld\t%ld",sum,(i-1)*i*(i+1));
return 0;
}
5.
#include<stdio.h>
#define N 100
int main()
{
int i,j,k;
float num[N],tmp;
for(i=0;i<N;i++){
scanf("%f",&num[i]);
}
for(i=0;i<N-1;i++)
for(i=i;i<N;i++)
if(num[i]<num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
for(k=0;k<N||num[k]>0;k++);
for(i=0;i<k-1;i++)
for(i=i;i<k;i++)
if(num[i]>num[j]){
tmp=num[i];
num[i]=num[j];
num[j]=tmp;
}
return 0;
}
6.略
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第四题应该选 C,第五题应该选 B,第六题应该选 D,第七题应该选 D,第九题应该选 D,第十题应该选 A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询