试卷详情
-
二级C语言笔试-305
-
[单项选择]下列叙述中正确的是( )。
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
-
[填空题]以下函数fun的功能是返回str所指字符中中以形参c中字符开头的后续字符串的首地址,例如:str所指字符串为“Hello!”,c中的字符为’e’,则函数返回字符串"ello!"的首地址。若 str所指字符串为空中或不包含c中的字符,则函数返回NULL。请填空。
char *fun (char *str,char c)
int n=0;char*p=str;
if(p!=NULL)
while(P[n]! =c&&p[n]! =’/0’)n++;
if(p[n]==’/0’)retum NULL;
return( 【8】 );
-
[单项选择]在软件设计中,不属于过程设计工具的是( )。
A. PDL(过程设计语言)
B. PAD图
C. N-S图
D. DFD图
-
[单项选择]以下不合法的数值常量是( )。
A. 011
B. le1
C. 3.0E0.5
D. 0xabcd
-
[填空题]以下程序的功能是输入任意整数给n后,输出n行从大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:
A B C D E
F C H I
J K L
M N
O
请填空完成该程序。
#include <stdio.h>
main( )
int i.j,n;char ch =’A’;
scanf(" % d" ,&n);
if( n<11 )
for(i=1; i<=n;i++)
for(j =1; j< =n-i+1;j++)
printf( "%2c" ,ch);
【6】 ;
【7】 ;
else printf ("n is too large! /n" );
prinff("/n");
-
[单项选择]以下能正确定义字符串的语句是( )。
-
[单项选择]下列数据结构中,能用二分法进行查找的是( )。
A. 顺序存储的有序线性表
B. 线性链表
C. 二叉链表
D. 有序线性链表
-
[单项选择]以下叙述中正确的是( )。
A. 预处理命令行必须位于C源程序的起始位置
B. 在C语言中,预处理命令行都以“#”开头
C. 每个C程序必须在开头包含预处理命令行:#include <stdio.h>
D. C语言的预处理不能实现宏定义和条件编译的功能
-
[单项选择]表达式3.6-5/2+1.2+5%2的值是( )。
A. 4.3
B. 4.8
C. 3.3
D. 3.8
-
[填空题]以下程序的输出结果是 【9】 。
#include <stdio.h>
main ( )
int a[3][3] =1,2,9,3,4,8,5,6,7 ,i,s=0;
for(i=0;i<3;i++) s+ =a[i][i] + a[i][3-i-1];
pfintf("% d /n" ,s);
-
[单项选择]若要求从键盘读人含有空格字符的字符串,应该使用函数( )。
A. getc()
B. gets()
C. getchar()
D. scanf()
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
int a =0,b =0,c =0,d =0;
if(a = 1) b=1;c=2;
else d=3;
pfintf( "%d,%d,%d ,%d /n" ,a,b,c,d);
A. 0,1,2,0
B. 0,0,0,3
C. 1,1,2,0
D. 编译有错
-
[单项选择]执行以下程序后,test.txt文件的内容是(若文件能正常打开) ( )。
#include <stdio.h>
#include <stdlib.h>
main( )
FILE * fp;
char * s1 = "Fortran" , * s2 = "Basic";
if((fp = fopen( "test. txt" ," wb" )) = = NULL)
prinff( "Can’t open test. txt file /n"); exit(1);
fwrite( s1 ,7,1 ,fp); /* 把从地址s1开始到7个字符写到fp所指文件中*/
fseek(fp,OL,SEEK_SET); /*文件位置指针移到文件开头*/
fwrite (s2,5,1,fp);
felose (fp);
A. Basiean
B. BasieFortran
C. Basic
D. FortranBasie
-
[单项选择]有以下程序:
#includo <stdio.h>
main( )
int y=10;
while(y--)printf("y=%d/n",y);
程序执行后的输出结果是( )。
A. y=0
B. y= -1
C. y=1
D. while 构成无限循环
-
[单项选择]要求通过while循环不断读入字符,当读入字母'N'时结束循环。若变量已正确定义,以下正确的程序段是( )。
-
[单项选择]以下数组定义中错误的是( )。
A. int x[][3]=0;
B. int x[2] [3]=1,2,3,4,5,6;
C. int x[][3]=1,2,3,4,5,6;
D. int x[2][3]=1,2,3,4,5,6;
-
[单项选择]有以下程序:
#include <stdio.h>
int fun(int n)
if(n == 1) return 1;
else return( n + fun( n - 1 ) );main( )
int x;
seanf("% d" ,&X) ;x = fun(x) ;pfinff( "% d /n" ,x); 执行程序时,给变量x输入10,程序的输出结果是( )。
A. 55
B. 54
C. 65
D. 45
-
[单项选择]下列描述中正确的是( )。
A. 软件工程只是解决软件项目的管理问题
B. 软件工程主要解决软件产品的生产率问题
C. 软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D. 软件工程只是解决软件开发中的技术问题
-
[填空题]有两个C程序文件T18.c和myfun.c同在VC系统目录(文件夹)下,其中T18.c文件如下:
#include <stdio.h>
#include "myfun.c"
main( )
fun( ); prinff("/n");
myfun.c文件如下:
void fun( )
char s[80],c;int n=0;
while((c=getchar( ))! :’/n’) s[n++] =c;
n--;
while ( n>=0) prinff("%c" , s [n--] );
当编译连接通过后,运行程序T18时,输入"Thank!”,则输出结果是 【13】 。
-
[单项选择]有以下程序:
#include <stdio.h>
void funl (char * p)
char * q;
q=p;
while( *q! ='/0') (*q) ++;q++;mains( )
char a[ ] = "Program" , * p;
p = &a[3]; fun1 (p); printf("% s /n" ,
A. ;
-
[单项选择]已定义以下函数:
int fun(int *p)
return *p;
函数fun的返回值是( )。
A. 不确定的值
B. 一个整数
C. 形参p中存放的值
D. 形参p的地址值
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
ehar c1,c2,c3,c4,c5,c6;
scanf( "% c% c% c% c", &c1, &c2, &c3, &c4);
c5 = getehar( ); c6 = getchar( );
putehar(c1); putehar(c2);
printf("%c%c/n", c5, c6);
23 <回车>
45678 <回车>
A. 1267
B. 1256
C. 1278
D. 1245
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
int i,s=0,t[] = 1,2,3,4,5,6,7,8,9;
for(i=0;i<9;i+=2) s+=*(t+i);
prinff("% d /n ",s);
A. 45
B. 20
C. 25
D. 36
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
union
charch[2];
int d;
s;
s.d=0x4321;
printf("%x,%x/n",s.ch[0],s.ch[1]);
在16位编译系统上,程序执行后的输出结果是( )。
A. 21,43
B. 43,21
C. 43,00
D. 21,00
-
[单项选择]数据库系统的核心是( )。
A. 数据模型
B. 数据库管理系统
C. 数据库
D. 数据库管理员
-
[单项选择]在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。
A. (! E==0)
B. (E>0 ‖ E<O)
C. (E==0)
D. (E! =0)
-
[单项选择]有以下程序:
#include <stdio.h>
fun( char p[] [10])
int n=0,i;
for(i=0;i<7;i ++)
if(p[i][0] ==’T’) n++;
return n;main( )
char sir[] [10] = "Mon" ,"Tue" ,"Wed" ,"Thu" ,"Fri" ,"Sat" ,"Sun" ;
prlnff(" % d/n" ,fun(str) );程序执行后的输出结果是( )。
A. 1
B. 2
C. 3
D. 0
-
[单项选择]设有以下语句:
int a=1,b=2,c;
c=a∧(b<<2);
执行后,c的值为( )。
A. 6
B. 7
C. 8
D. 9
-
[填空题]以下程序用于判断a,b,c能否构成三角形,若能,输出YES,否则输出NO。当给a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需同时满足三个条件:a+b>c, a+c>b,b+c>a。请填空。
#include <stdio.h>
main( )
float a,b,c;
scanf( "% f% f% f", &a, &b, &c);
if( 【20】 )printf("YES/n"); /*a.b.c能构成三角形*/
else prinff( "NO /n" ); /* a.b.c不能构成三解形*/
-
[填空题]对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为 【5】 。
-
[填空题]当运行以下程序时,输入abcd,程序的输出结果是 【19】 。
insert(char str[ ] )
int i;
i = stolen(str);
while (i>0)
str[2*i] =str[i]; str[2 * i-1] = ’* ’; i--;
printf( "% s /n", sir);main( )
char str[40];
seanf( "% s" ,str); insert(str);
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
int i,t[ ] [3] = 9,8,7,6,5,4,3,2,1;
for(i=0;i<3;i++) printf("%d ",t[2-i]l-i]);程序执行后的输出结果是( )。
A. 7 5 3
B. 3 5 7
C. 3 6 9
D. 7 5 1
-
[单项选择]若有定义:float x=1.5;int a=1,b=3,c=2; 则正确的switch语句是( )。
A. switch(x)
B. switch((iht)x);
C. switch(a +b)
D. switch(a +b)
-
[单项选择]以下四个程序中,完全正确的是( )。
A. #include <stdio.h>
B. #include <stdio.h>
C. #include <stdio.h>
D. include <stdio.h>
-
[单项选择]有以下程序:
#include <stdio.h>
int fun(int x[], int n)
static int sum =0,i;
for(i=0;i<n;i ++ )sum + =x[i];
return sum;
int a[] =1,2,3,4,5,b[]=6,7,8,9,s=0;
s = fun(a,5) + fun(b,4) ;printf( "%d /n",s);
程序执行后的输出结果是( )。
A. 45
B. 50
C. 60
D. 55
-
[填空题]在关系模型中,把数据看成是二维表,每一个二维表称为一个 【3】 。
-
[单项选择]数据库设计的根本目标是要解决( )。
A. 数据共享问题
B. 数据安全问题
C. 大量数据存储问题
D. 简化数据维护
-
[单项选择]有以下程序:
#include <stdio.h>
void swap(char * x,ehar * y)
char t;
t= *x; *x: *y; *y=t;
main ( )
char *s1 ="abc", * s2 ="123";
swap(s1 ,s2); printf("%s,%s /n" ,s1 ,s2);程序执行后的输出结果是( )。
A. 123,abe
B. abe,123
C. 1bc,a23
D. 321,cba
-
[填空题]以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。
#include <stdio.h>
main( )
int i,j
for(i=0; 【15】 ;i++)
j=i*10+6;
if( 【16】 )continue:
Printf("%d”",j);
-
[单项选择]设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为 ( )。
A. EOF
B. 非0值
C. 0
D. NULL
-
[单项选择]有以下程序:
int fun1 (double
A. return a * =a;
B. ;
-
[填空题]程序测试分为静态分析和动态测试。其中 【4】 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
-
[填空题]下面程序的运行结果是 【12】 。
#include <stdio.h>
fun(int t[],int n)
int i,m;
if(n==1) return t[0];
else
if(n>=2) | m:fun(t,n-1); return m;
main( )
int a[ ] = 11,4,6,3,8,2,3,5,9,2;
printf( "% d /n" ,fun( a, 10));
-
[单项选择]有以下程序:
#inelude <stdio.h>
main( )
int i,j,x=0;
for(i=0;i<2;i++ )
x++;
for(j=0;j<=3;j ++)
fi(j%2) continue;
x++;
x++;
pfinff( "x = % d/n",x); 程序执行后的输出结果是( )。
A. x=4
B. x=8
C. x=6
D. x=12
-
[单项选择]若有说明语句:double * p,a;则能通过scanf语句正确给输入项读入数据的程序段是( )。
A. *p=&a; sCanf("%1f",p);
B. *p=&a; scanf("%f",p);
C. p=&a; scanf( "% 1f" , * p);
D. p = &a; scanf( "% 1f" , p);
-
[填空题]在面向对象方法中 【1】 描述的是具有相似属性与操作的一组对象。
-
[单项选择]以下不合法的用户标识符是( )。
A. j2_KEY
B. Double
C. 4d
D. _8
-
[单项选择]以下不合法的字符常量是( )。
-
[单项选择]若下列各选项中所有变量已正确定义,函数fun通过return语句返回一个函数值,以下选项中错误的程序是( )。
A. main( )
B. float fun( int a,intb)......
C. float fun(int, int);
D. main( )
-
[单项选择]有以下程序段:
struct st
int x; int * y; * pt;
int a[] = 1,2 ,b[] = 3,4;
struct st c[2] = 10,a,20,b;
pt=c;
以下选项中表达式的值为11的是( )。
A. *pt->y
B. pt->x
C. ++pt->x
D. (pt++)->x
-
[填空题]若变量a,b已定义为int类型并分别赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句行: 【14】 。
-
[单项选择]下面的叙述正确的是( )。
A. 程序设计就是编制程序
B. 程序的测试必须由程序员自己去完成
C. 程序经份试改错后还应进行再测试
D. 程序经调试改错后不必进行再测试
-
[单项选择]以下叙述中错误的是( )。
A. C语言源程序经编译后生成后缀为.obj的目标程序
B. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
-
[单项选择]有以下程序:
#include <stdio.h>
main( )
char * p[ ] = "3697" ,"2548" ;
int i,j; long num =0;
for(i =0;i<2;i ++ )
j =0;
while(p[i][j]! =’/0’)
if((p[i][j]-’0’)%2) num=10*num+p[i][j]-’0’;
j+ =2;
printf( "%d /n" ,num);程序执行后的输出结果是( )。
A. 35
B. 37
C. 39
D. 3975
-
[填空题]数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为 【2】 。
-
[填空题]以下isprime函数的功能是判断形参a是否为素数,如果是素数,函数返回1,否则返回0。
int isprime( int a)
int i;
for(i =2;i<= a/2;i ++ )
if(a%i==0) 【10】 ;
【11】 ;
-
[单项选择]设有以下定义和语句:
char str[20]="Program", *P;
p=str;
则以下叙述中正确的是( )。
A. *p与str[0]中的值相等
B. str与p的类型完全相同
C. str数组的长度和p所指向的字符串长度相等
D. 数组str中存放的内容和指针变量p中存放的内容相同
-
[单项选择]下列关于栈的描述正确的是( )。
A. 在栈中只能插入元素而不能删除元素
B. 在栈中只能删除元素而不能插入元素
C. 栈是特殊的线性表,只能在一端插入或删除元素
D. 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素