1 、【
单选题
】
有以下程序
main()
{union
{char ch[2];
int d;
}s;
s.d=0x4321;
printf("%x,%x\n",s.ch[0],s.ch[1]);
}
在16位编译系统上,程序执行后的输出结果是
[1分]
、
21,43
、
43,21
、
43,00
、
21,00
答案:
2 、【
单选题
】
有以下程序
main()
{char *p[]={"3697","2584"};
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);
}
程序执行后的输出结果是
[1分]
答案:
3 、【
单选题
】
执行以下程序后,test.txt文件的内容是(若文件能正常打开)
#include <stdio.h>
main()
{FILE *fp;
char *s1="Fortran",*s2="Basic";
if((fp=fopen("test.txt","wb”))==NULL)
{printf("Can′t open test.txt file\n");exit(1);}
fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/
fseek(fp,0L,SEEK_SET); /*文件位置指针移到文件开头*/
fwrite(s2,5,1,fp);
fclose(fp);
}
[1分]
、
Basican
、
BasicFortran
、
Basic
、
FortranBasic
答案:
4 、【
单选题
】
以下叙述中错误的是
[1分]
、
C语言源程序经编译后生成后缀为.obj的目标程序
、
C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
、
用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
、
C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
答案:
5 、【
单选题
】
以下叙述中错误的是
[1分]
、
算法正确的程序最终一定会结束
、
算法正确的程序可以有零个输出
、
算法正确的程序可以有零个输入
、
算法正确的程序对于相同的输入一定有相同的结果
答案:
6 、【
单选题
】
以下叙述中错误的是
[1分]
、
C程序必须由一个或一个以上的函数组成
、
函数调用可以作为一个独立的语句存在
、
若函数有返回值,必须通过return语句返回
、
函数形参的值也可以传回给对应的实参
答案:
7 、【
单选题
】
设有以下定义和语句
char str[20]="Program",*p;
p=str;
则以下叙述中正确的是
[1分]
、
*p与str[0]的值相等
、
str与p的类型完全相同
、
str数组长度和p所指向的字符串长度相等
、
数组str中存放的内容和指针变量p中存放的内容相同
答案:
8 、【
单选题
】
以下叙述中错误的是
[1分]
、
C程序中的#include和#define行均不是C语句
、
除逗号运算符外,赋值运算符的优先级最低
、
C程序中,j++;是赋值语句
、
C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
答案:
9 、【
单选题
】
以下叙述中正确的是
[1分]
、
预处理命令行必须位于C源程序的起始位置
、
在C语言中,预处理命令行都以"#"开头
、
每个C程序必须在开头包含预处理命令行:#include<stdio.h>
、
C语言的预处理不能实现宏定义和条件编译的功能
答案:
10 、【
单选题
】
以下叙述中错误的是
[1分]
、
可以通过typedef增加新的类型
、
可以用typedef将已存在的类型用一个新的名字来代表
、
用typedef定义新的类型名后,原有类型名仍有效
、
用typedef可以为各种类型起别名,但不能为变量起别名
答案:
11 、【
填空题
】
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为
。
[每空2分]
答案:
["45"]
12 、【
填空题
】
在面向对象方法中,
描述的是具有相似属性与操作的一组对象。
[每空2分]
答案:
["类"]
13 、【
填空题
】
在关系模型中,把数据看成是二维表,每一个二维表称为一个
。
[每空2分]
答案:
["关系"]
14 、【
填空题
】
程序测试分为静态分析和动态测试。其中
是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。
[每空2分]
答案:
["静态分析(静态测试)"]
15 、【
填空题
】
数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为
。
[每空2分]
答案:
["物理独立性"]
16 、【
填空题
】
若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的的输出语句
。
[每空2分]
答案:
["printf("a=%d,b=%d",a,b);"]
17 、【
填空题
】
以下程序用于判断a、b、c能否构成三角形,若能,输出YES,否则输出NO。当给a、b、c输入三角形三条边长时,确定a、b、c能构成三角形的条件是需同时满足三个条件:a+b>c,a+c>b,b+c>a。请填空。
main()
{float a,b,c;
scanf("%f%f%f",&a,&b,&c);
if(
)printf("YES\n");/*a、b、c能构成三角形*/
else printf("NO\n");/*a、b、c不能构成三角形*/
}
[每空2分]
答案:
["(a+b>c)&&(a+c>b)&&(b+c>a)"]
18 、【
填空题
】
以下程序的输出结果是
。
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];
printf("%d\n",s);
}
[每空2分]
答案:
["30"]
19 、【
填空题
】
当运行以下程序时,输入abcd,程序的输出结果是:
。
insert(char str[])
{int i;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]=′*′;i--;}
printf("%s\n",str);
}
main()
{char str[40];
scanf("%s",str);insert(str);
}
[每空2分]
答案:
["a*b*c*d*"]
20 、【
填空题
】
下面程序的运行结果是:
。
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));
}
[每空2分]
答案:
["11"]
21 、【
填空题
】
现有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件如下:
#include <stdio.h>
#include "myfun.c"
main()
{fun();printf("\n");}
myfun.c文件如下:
void fun()
{char s[80],c; int n=0;
while((c=getchar())!=′\n′) s[n++]=c;
n--;
while(n>=0) printf("%c",s[n--]);
}
当编译连接通过后,运行程序T18时,输入Thank!则输出结果是:
。
[每空2分]
答案:
["!knahT"]
22 、【
填空题
】
以下函数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′) return NULL;
return(
);
}
[每空2分]
答案:
["p+n"]
答案:
["p!=NULL","p->next"]