当前位置:首页 » 编程语言 » 广安c语言少儿编程模拟题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

广安c语言少儿编程模拟题

发布时间: 2023-05-12 13:59:25

c语言 普及组的模拟题

一、选择题(共20题,每题1.5分,共计30分。每题有5个备选答案,前10个题为单选题,即
每题有且只有一个正确答案,选对得分;后10题为不定项选择题,即每题有1至5个正确答案,只
有全部选对才得分)。
1.微型计算机的性能主要取决于( )。
A)内存 B)主板 C)中央处理器 D)硬盘 E)显示器

2. 128KB的存储器用十六进制表示,它的最大的地址码是( )
A)10000 B)EFFF C)1FFFF D)FFFFF E)FFFF

3.能将高级语言程序转换为目标程序的是( ).
A)调试程序 B)解释程序 C)编辑程序 D)编译程序 E)连接程序

4.A=11001010B,B=00001111B,C=01011100B,则A∨B∧C=( )B
A)01011110 B)00001111 C)01011100 D)11001110 E)11001010

5.计算机病毒传染的必要条件是( ) 。
A)在内存中运行病毒程序
B)对磁盘进行读写操作
C)在内存中运行含有病毒的可执行程序
D)复制文件
E)删除文件

6. TCP/IP协议共有( )层协议
A)3 B)4 C)5 D)6 E)7

7.192.168.0.1是属于( ).
A)A类地址 B)B类地址 B)C类地址 D)D类地址 E)E类地址

8.对给定的整数序列(54,73,21,35,67,78,63,24,89)进行从小到大的排序时,采用快速排序的第
一趟扫描的结果是( ).
A)(24,21,35,54,67, 78,63,73,89)
B)(24,35,21,54,67, 78,63,73,89)
C)(24,21,35,54,67, 63,73,78,89)
D)(21,24,35,54,63, 67,73,78,89)
E)(24,21,35,54,67, 63,73,78,89)

9.一棵n个结点的完全二叉树,则二叉树的高度h为( ).
A)n/2 B)log2n C)(log2n)/2 D) [log2n]+1 E)2n-1

10.下图对该图进行广度优先拓朴排序得到的顶点序列正确的是( ).
A)1,2,3,4,5,6
B)1,3,2,4,5,6
C)1,3,2,4,6,5
D)1,2,3,4,6,5,
E)1,3,2,4,5,6

11.下列属于冯.诺依曼计算机模型的核心思想是( ).
A)采用二进制表示数据和指令;
B)采用”存储程序”工作方式
C)计算机硬件有五大部件(运算器、控制器、存储器、输入和输出设备)
D)结构化程序设计方法
E)计算机软件只有系统软件

12.下列属于输入设备的是( ).
A)打印机 B)扫描仪 C)光笔 D)鼠标 E)显示器

13.算式(1000)10-(100)16-(10)8的结果是( ).
A)(890)10 B)(986)8 C)(1011100000)2 D)(2E0)16 E)(736)10

14.下面关于算法的正确的说法是( )
A)算法必须有输出
B)算法必须在计算机上用某种语言实现
C)算法不一定有输入
D)算法必须在有限步执行后能结束
E)算法的每一步骤必须有确切的定义

15.下列关于十进制数100的正确说法是( ).
A)原码为01100100B
B)反码为64H
C)反码为9BH
D)补码为64H
E)补码为9BH

16.关于windows系统中的窗口和对话框的说法正确的是( ).
A)对话框能移动和改变大小
B)窗口能移动和改变大小
C)对话框只能移动和但不能改变大小
D)对话框不能移动但能改变大小
E)窗口能移动和但不能改变大小

17.下列逻辑运算正确的是( )。
A) A·(A + B )= A
B) A +(A·B)= A
C) A·(B + C )= A·B + A·C
D) A +(B·C)=(A + B)·(A + C)
E) A+1=A

18.下列关于排序说法正确的是( ).
A)插入排序、冒泡排序是稳定的
B)选择排序的时间复杂性为O(n2)
C)选择排序、希尔排序、快速排序、堆排序是不稳定的
D)希尔排序、快速排序、堆排序的时间复杂性为O(nlog2n)
E)快速排序是速度最快的排序

19.对于一个大小为3的栈,若输入队列为123456,则下列输出队列有可能的是( )。
A)123456 B)654321 C)432165 D)431256 E)321654

20. 设有一个含有13个元素的Hash表(0~12),Hash函数是:H(key)=key % 13,其中% 是求余数
运算。用二次探查法解决冲突,则对于序列(8、31、20、33、18、53、27),则下列说法正确
的是( ) 。
A)27在1号格子中
B)33在6号格子中
C)31在5号格子中
D)20在7号格子中
E)18在4号格子中

二.问题求解(5分*2=10分)
1.一个商场有m种颜色的小球,每种小球足够多,在这m种小球中挑选n个小球的选法有多少种?
如 m=2,n=3 时有4种选法分别是:两种小球的个数分别为03,12,21,30.问:当m=4,n=4时
选法数=__________。

2.如果一棵m度树中有n1个度为1的结点,n2个度为2的结点,…….有
nm个度为m的结点,则该树中叶结点的的个数=______________.
1、C语言中没有逻辑量,在给出逻辑运算结果时,以 代表“真”,用 代表“假”。
2、一个C源程序中至少应包括一个 。
3、C源程序的基本单位是 。
4、为表示关系X≥Y≥Z,应使用C语言表达式 。
5、若有以下定义:double w[10];则w数组元素下标的上限是 ,下限是 。
6、若有以下定义:double w[5];则数组w下标的上限是 。
7、执行语句:for(i=1;i++<4;)后;变量i的值是 。
6、在C语言中的实型变量分为两种类型,它们是 、 。
7、语句"printf("%x,%o",16,12);"的输出结果是 。
8、当a=5,b=4,c=1时,表达式a>b!=c的值是 。
9、若有定义:char c=’\010’;则变量c中包含的字符数为 。
10、C语言中的标识符只能由三种字符组成,它们是 、 、 。
11、若k为int 型且赋值11。请写出运算k++后表达式的值为 ,变量的值为 。
12、在C语言程序中,如果对函数f的类型未加显说明,则函数f的隐含类型是 。
13、二维数组中元素在内存中的存放顺序是 。
14、设有定义int a=12,b=12;则语句 printf("%d %d\n",--a,++b);的输出结果是:

15、当a=3,b=2,c=1时,表达式f=a>b>c的值为______________________。
16、C语言中的文件类型有 、 。
二、选择题
1、C语言可执行程序的开始执行点是( )
A、 程序中第一条可执行语言 B、 程序中第一个函数
C、 程序中的main函数 D、 包含文件中的第一个函数
2、以下叙述中不正确的是( )
A、在函数中,通过return语句传回函数值
B、在函数中,可以有多条return语句
C、在C中,main后的一对圆括号中也可以带有形参
D、在C中,调用函数,必需在一条独立的语句中完成
3、对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的( )。
A、0为假,非0为真 B、只有1为真
C、-1为假,1为真 C、0为真,非0为假
4、以下字符中,不正确的C语言转义字符是( )
A、‘\t’ B、 ‘\011’ C、‘\n’ D、 ‘\018
5、C语言中运算对象必需是整型的运算符是( )
A、% B、/ C、! D、**
6、putchar函数可以向终端输出一个( )
A、整型变量表达式值 B、实型变量值
C、字符串 D、字符或字符型变量值
7、下列各语句定义了数组,其中哪一个是正确的( )。
A、int a[5],b[2,3]; B、char no(30);
C、int x[]; D、int x[5]={1,2,3};
8、数组定义为"int a[4][5];", 引用"*(a+1)+2"表示( )。
A、a[1][0]+2 B、 a数组第1行第2列元素的地址
C、a[0][1]+2 D、 a数组第1行第2列元素的值
9、a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的( )。
A、scanf ("%d, %c",&a, &c); B、scanf (" %d%c", a, c);
C、scanf (" %d%c", &a,&c ); D、scanf ( "d=% d, c=%c",&a, &c);
10、将整型变量a、b中的较小值为变量c赋值,下列语句中正确的是( )。
A、c= =(a<b)? a:b; B、c=if(a<b)a else b;
C、c=(a<b)? a:b; D、(a<b)? c=a:c=b;
11、将整型变量a、b中的较大值为变量c赋值,下列语句中正确的是( )。
A、c= =(a>b)? a:b; B、c=(a>b)? a:b;
C、c=if(a>b)a else b; D、(a>b)? c=a:c=b;
12、逻辑运算符中,运算优先级按从高到低依次为( )。
A、&&, !, || B、||,&&, ! C、&&, ||, ! D、!,&&, ||
13、在C语言程序中( )
A、 函数的定义可以嵌套,但函数的调用不可以嵌套
B、 函数的定义和函数的调用均不可以嵌套
C、 函数的定义不可以嵌套,但函数的调用可以嵌套
D、 函数的定义和函数的调用均可以嵌套
14、C语言中的文件类型只有( )
A、索引文件和文本文件两种 B、ASCII文件和二进制文件两种
C、文本文件一种 D、 二进制文件一种
15、若变量已正确定义并赋值,符合C语言语法的表达式是( )
A、a=7+b+c,a++ B、a=a+7; C、int(12.3%4) D、a=a+7=c+b
16、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 ( )
A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12
17、已知ch是字符型变量,下面正确的赋值语句是( )
A、ch=’\123’ B、ch=’xfff’ C、ch=’\08’ D、ch=’\’
18、以下函数调用语句中,含有的实参个数是( )
A、1 B、2 C、4 D、5
Func((exp1,exp2),(exp3,exp4,exp5));
19、以下叙述中正确的是 ( )
A、 输入项可以是一个实型常量,如 scanf("%f ",3.5);
B、 只有格式控制,没有输入项,也能正确输入数据到内存,如: scanf("a=%d,b=%d");
C、 当输入一个实型数据时,格式控制可以规定小数点后的位数,如:scanf("%4.2f",&f);
D、 当输入数据时,必须指明变量地址,例如: scanf("%f",&f);
20、程序运行输出了错误的结果,可以排除下列哪一个因素( )。
A.算法错误 B、运行时输入数据错误
C、未通过编译 D、系统资源配置不当
21、要为字符型变量a赋初值,下列语句中哪一个是正确的( )。
A、char a=’3’; B、char a="3";
C、char a=%; D、char a=*;
22、数组定义为"int a[4][5];", 引用"a[1]+3"表示( )。
A、a数组第1行第3列元素的地址 B、a数组第1行第3列元素的值
C、a数组第4行的首地址 D、a数组第4列的首地址

三、程序阅读
1、以下程序的输出结果为 。
main()
{ int x=2;
while (x--);
printf(“%d\n”,x);
}
2、以下程序的运行结果是 。
main()
{ int m=5;
if (m++ > 5) printf(“%d\n”,m);
else printf(“%d\n”, m――);
}
3、当执行以下程序段后,i的值为 、j的值为 、k的值为 。
int a,b,c,d,i,j,k;
a=10; b=c=d=5; i=j=k=0;
for( ; a>b; ++b) i++;
while (a>++c) j++;
do k++; while (a>d++);
4、以下程序的输出结果是 。
main()
{ int k=2,m=4,n=6;
int *pk=&k, *pm=&m, *p;
*(p=&n)=*pk*(*pm);
printf(“%d\n”,n);
}
5、以下程序的输出结果是 。
fun1(int a, int b)
{ int c;
a+=a; b+=b;
c=fun2 ( a, b );
return c*c;
}
fun2( int a, int b)
{ int c;
c=a*b%3;
return c;
}
main()
{ int x=11,y=19;
printf(“%d\n”, fun1(x,y));
}
6、以下程序的输出结果是 z= , r= 。
func(int a, int b)
{ int c;
c=a+b;
return c;
}
main()
{ int x=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
printf(“z=%d,r=%d\n”,z,r);
}
7、以下程序的输出结果为 .
main()
{ int aa[3][3]={{2},{4},{6}},i,*p=&aa[0][0];
for(i=0;i<2;i++)
{ if(i==0)
aa[i][i+1]=*p+1;
else ++p;
printf(“%d”,*p);
}
printf(“\n”);
}
8、下列程序运行的输出结果: , 。
#define X 5
#define Y X+1
#define Z Y*X/2
main()
{ int a;
a=Y;
printf("%d,%d\n",Z,--a);
}
四、程序填空
findmax返回数组s中最大元素的下标,数组中元素的个数由t传入,请填空 。
findmax(int s[ ], int t)
{ int k,p;
for(p=0, k=p; p<t; p++)
if (s[p]>s[k]) ;
return ;
}
有以下程序段:
s=1.0;
for (k=1; k<=n; k++) s=s+1.0/(k*(k+1));
printf(“%f\n”,s);
请填空,使下面的程序段的功能完全与之等同。
s=0.0;
;
k=0;
do
{ s=s+d;
;
d=1.0/(k*(k+1));
}
while( );
printf(“%f\n”,s);
3、 以下程序统计从终端输入的字符中每个大写字母的个数,4、 num[0]中统计字母A的个数,5、 其他依次类推。用回车符结束输入,6、 请填空。
#include “stdio.h”
#include “ctype.h”
main()
{ int num[26]={0}, i ;
char c;
while(( )!=’\n’)
if (isupper(c)) num[ ]+=1;
for( i=0; i<26; i++)
if (num[i]) printf(“%c: %d\n”, i+’A’,num[i]);
}
4、以下fun函数的功能是将一个字符串的内容颠倒过来,请填空。
#include “string.h”
void fun(char str[])
{ int i,j,k;
for(i=0,j= ; i<j; i++, )
{ k=str[i]; str[i]=str[j]; str[j]=k; }
}

5、以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。
main()
{ float x,amax,amin;
scanf(“%f”,&x);
amax=x; amin=x;
while( )
{ if ( x>amax ) amax=x;
else if (x<amin) ;
;
}
printf(“\namax=%f\namin=%f\n”,amax,amin);
}
6、输入若干字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。
#include <stdio.h>
void main()
{ char ch; ;
while(( )!='\n')
{if(ch>='0'&&ch<='9') s1++;
if((ch>='a' && ch<='z')|| ) s2++;}
printf(“%d,%d\n”,s1,s2);
}
编程题
输入一行数字字符(以回车符结束输入),请用数组元素作为计数器来统计每个数字字符的个数,并输出统计结果。用下标为0的元素统计字符’0’的个数,下标为1的元素统计字符’1’的个数,…。
#include<stdio.h>
main()
{
}
2、下面findmax函数将计算数组中的最大元素及其下标值和地址值,请编写*findmax()函数。
#include<stdio.h>
*findmax(int *s, int t, int *k)
{
}
main()
{ int a[10]={12,23,34,45,56,67,78,89,11,22},k,*add;
add=findmax(a,10,&k);
printf(“%d,%d,%o\n”,a[k],k,add);
}
3、编写程序,求1-3+5-7+…-99+101的值。
#include <stdio.h>
main()
{ }
4、以下程序将字符串中的第m个字符开始的全部字符复制成另一个字符串,在主函数中输入字符串及m的值并输出复制结果,在被调用函数str中完成复制。请编写str函数。
#include<stdio.h>
#include<string.h>
main()
{ int m;
char str1[80], str2[80];
printf(“Please input a string :\n”);
gets(str2);
printf(“Input m:\n”);
scanf(“%d”,&m);
if (strlen(str2)<m ) printf(“error input!\n”);
else
{ str(str1,str2,m);
printf(“Result is :%s\n”,str1);
}
}
void str(char *p1,char *p2,int m)
{
}
编写函数invert将数组中的数按颠倒的顺序重新存放。在操作时,只能借助一个临时存储单元而不得另外开辟数组。
/*参数n为数组中的元素个数*/
void invert(int a[ ],int n)
{
}
6、函数maxmin完成的功能是:对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。试编写该函数,
main()
{ int a, b, c, max,min;
printf(“please input three integer:\n”);
scanf(“%d,%d,%d”,&a,&b,&c);
maxmin(a,b,c,&max,&min);
printf(“a=%d,b=%d,max=%d,min=%d\n”,a,b,c,max,min);
}
void maxmin(int a, int b, int c, int *max, int *min)
{
}

❷ 计算机二级考试C语言模拟试题二

1. 运算符________的优先级最高。

A.[ ]

B. +=

C. ?:

D.++

2.main( )

{ int n; ( n=6*4,n+6),n*2; printf(“n=%d ”,n); }

此程序的输出结果是______________.

A.30

B. 24

C. 60

D. 48

3.若有如下定义,则__________是对数组元素的正确的引用。.

int a[10] , *p ; p=a ;

A. *&a[10]

B. a[11]

C. *(p+11)

D. *p *p *p

4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

A. 0

B. 4

C. - 4

D. 2

5.各种基本数据类型的存贮空间正确的长度排列为__________。

A.Char

C.Char

6.下面的变量说明中__________是正确的。

A.char:a, b, c;

B.char a; b; c;

C.char a, b, c;

D.char a, b, c

7.表达式y=(13>12?15:6>7?8:9)的值为____________ 。

A 9

B 8

C 15

D. 1

8.若x=5,y=3 则y*=x+5; y的值为___________.

A. 10

B. 20

C. 15

D. 30

9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

A.a>=0||b>=0)&&(a<0 ||b<0)

B.(a>=0 && b>=0)&&(a<0 && b<0)

C.(a+b>0) &&(a+b<=0)

D. a*b>0

10.C语言中,合法的字符型常数是_________。

A.‘A’

B.“A”

C. 65

D. A

11.已有定义 int x=3, y=4, z=5;则表达式“!(x+y)+z-1&&y+z/2”的值是________。

A.6

B.0

C.2

D.1

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.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。

A.printf(“x=%d ”,x)

B.printf(“x=%ld ”,x)

C.printf(“x=l ”,x)

C.printf(“x=%D ”,x);

14.从循环体内某一层跳出,继续执行循环外的语句是:___________。

A. break语句

B.return语句

C.continue语句

D.空语句。

15.C语言用_______表示逻辑“真”值。

A.true

B.t或y

C.非零整型值

D.整型值0

16.为了避免嵌套的条件分支语句if—else 的二义性,C语言规定:C程序中的else总是与_____组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

17.在函数中默认存储类型说明符的变量应该是________存储类型。

A.内部静态

B. 外部

C.自动

D. 寄存器

18.C语言中以只读方式打开一个文件应选择_______________参数。

A.“r”

B.“w”

C.“rb”

D.“a”

19.设有数组定义:char array[]=”student”;则数组所占的存贮空间为__________。

A.6个字节

B. 7个字节

C. 8个字节

D. 9个字节

20.根据C语言的语法规则,下列________个是不合法标识符。

A.do

B. Name

C. R5

D. _exam

二、判断题

1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 ( )

2.在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。( )

3.在 C 程序中 ,APH 和 aph 代表不同的变量。( )

4.表达式 0195 是一个八进制整数。( )

5.Continue语句的作用是结束本次循环。( )

6.Extern变量的.生命期是整个程序执行期。 ( )

7.C语言中字符串的结束符是’’。 ( )

8.利用fclose函数关闭已打开的文件。 ( )。

9.C程序总是从main( ) 函数的第一条语句开始执行的。( )

10.数组名代表数组的首地址。( )

三、填空题

1.C语言的预处理语句以__________开头。

2.表达式7+10>2 && 25 %5的结果是_______________。

3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

Int n=0, ch; Ch=getchar( );

While( __________________ )

{ if ( ________________ ) n++; c=getchar( ); }

4.C语言中getchar() 函数的功能是_________________________。

5.int *p 的含义是______________________________。

6.定义fp为文件型指针变量的定义方法为_______________。

7.数组 int a[3][3];共定义了____________个数组元素。

四、读程序题。

1. 改正下列程序中不正确的语句。

main( )

{ int a;

scanf(“%d”, a); if (a = 1) printf(“One ”) ; }

2.写出下列程序的运行结果。

fun(int a, int b)

{ if(a>b) return (a);

Else return (b); }

main()

{ int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z); printf(“%d ”,r); }

3. 改正下列程序中不正确的语句。

main()

{ int n ;

float s=1.0;

for(n=10;n>1;n- -)

s=s+1/n;

printf(“%6.1f ”,s); }

4. 写出下列程序的运行结果。

main()

{ int n;

For(n=3; n<=10; n++)

{ if(n%6= =0) break; Printf(“%d”,n); } }

5.写出下列程序的运行结果。

#include “stdio.h”

Main()

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

int m,n,*p; p=&a[0]; m=*(p+1); n=*(p+4);

printf(“%d %d %d ”,*p,m,n); }

五、编程题

1. 编程计算下列表达式:s=n!(n从键盘上输入)

2.输出1—100之间不能被12整除的数。

3.从键盘上输出10个整数存入一维数组中,按由大到小的顺序输出。

4.从键盘上输入9个数,按3行3列的格式输出。

5.编程将文件read.txt中的字符读出显示到屏幕上。

❸ C语言编程题目

#include <stdio.h>
char *StrCat(char *s,char *t)
{
int i=0,j=0;
char *s1,*t1;
s1=s;t1=t;
for(;*s1;s1++,i++);
for(;*t1;t1++,j++);
if(i<=j)
{
for(;*t;)*s1++=*t++;*s1='\0';
return s;
}
else
{
for(;*s;)*t1++=*s++;*t1='\0';
return t;
}
}

int main(int argc, char *argv[])
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
printf("%s",StrCat(a,b));
return 0;
}

❹ C语言编程题

12.int main()

{
for(int i=1;i<=9;i++)
{
for(int j=i;j<=9;j++)
cout<<i<<"*"<<j<<"="<<i*j<<" ";
cout<姿迹拦<endl;
}

return 0;
}
13.int main()

{int count=0;
for(int i=1000;i<10000;i++)
if(i%10==8&&i%4==0)

count++;

cout<<count<<endl;

return 0;
}
7.
#define N 5
int main()

{int fish_num0=1,flag=0,fish_num;
while(flag!=1)
{ fish_num=fish_num0;
int count=0;
for(int i=N;i>=1&&fish_num/N>0;i--)
{
fish_num=fish_num-1;
if(fish_num%N==0&&fish_num/N>0) count++;
fish_num=fish_num/迹胡N*(N-1);
}
if(count==N) flag=1;
fish_num0++;
}

cout<<fish_num0-1<<endl;

return 0;
}
这是用C++写州告的,在tc上运行时稍改一下输入输出函数即可!

❺ C语言编程题目

下面是一些C编程题目:1. 编写程序,从键盘输入两个整数,输出它们的和、差、积、商、余数。2. 编写程序,从键盘输入三角形的三条边长,判断它们是否可以构成三角形,并输出三角形的类型(等边、等腰、一般)。3. 编写程序,从键盘输入字符串,统樱派计其中的大写字母、小写字母、数字和其他字符的个数,并输出脊铅贺结果。4. 编写程序,从键盘输入整数n,打印出n个斐波那契数列的数(斐波那契数列:1 1 2 3 5 8 13...,后数是前两个数之和)。5. 编写程序,从键盘输入字符串,判断它是否为回文字符串(即正着读和倒激信着读都一样),并输出结果。6. 编写程序,从键盘输入整数n,打印出从1到n的所有素数(素数是只能被1和本身整除的数,如2、3、5、7、11等)。7. 编写程序,从键盘输入一组数据(1~100之间的整数),将它们存入数组中,并按从小到大的顺序输出。8. 编写程序,从键盘输入整数n,打印出n行的杨辉三角形。9. 编写程序,实现冒泡排序(以升序为例)。10. 编写程序,实现二分查找算法(在有序数组中查找指定元素)。

❻ 自考“C语言程序设计”模拟试题一

一、填空题

1、C语言中基本的数据类型有:______、______ 、______ .

2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .

3、整数-35在机内的补码表示为______.

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是______.

5、有如下语句:char A[ ]={“I am a student”}; 该字符串的长度是______,A[3]=______.

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)[N];其中标识符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[15]=“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[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

15、以下对二维数组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}};

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[2]={“abcd”,“ABCD”}; 则以下说法中正确的是( )。

A)aa数组成元素的值分别是“abcd”和ABCD“

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符‘a’和‘A’的地址

18、下列程序的输出结果是( )。

char *p1=“abcd”, *p2=“ABCD”, str[50]=“xyz”;

strcpy(str+2,strcat(p1+2,p2+1));

printf(“%s”,str);

A. xyabcAB B. abcABz C. ABabcz D. xycdBCD

19、下列程序的输出结果是( )。

int a[5]={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[10]={‘H’,‘e’,‘l’,‘l’,‘o’,‘!’};

B. char b[10]; b=“Hello!”;

C. char b[10]; strcpy(b,“Hello!”);

D. char b[10]=“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[1];

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个学生的信息,要求输出总平均成绩的学生信息,包括学号、性别、姓名和平均成绩。

❼ c语言编程题

这个是因为你的州拆语法错误
if
{
语句
}
else
{
语句

}
要这种方铅迹裂式,你的是if(a<=1000) b= sqrt(a);这句判断就结束了,和后面的else没有关系了。要用{}把后槐闭面的语句括起来才可以。