计算机科学与技术专业高级语言编程范例
题号 |
一 |
二 |
三 |
四 |
五 |
六 |
七 |
八 |
九 |
十 |
总分 |
评卷人 |
得分 |
|
|
|
|
|
|
|
|
|
|
|
|
一.填补问题
1. C语言的数据类型中,结构类型包括数组和。
2 .在c程序中,可以为指针变量赋值或赋值。
3. C目标程序生成扩展名为exe的可执行文件。
4 .定义语句static char s[5; s[4]的值为。
5 .设x为int型变量。 逻辑表达式和! 与x等价的关系式是。
6 .如果全局变量只允许用于此程序文件中的函数,则变量必须使用的存储类别为。
7 .磁盘文件以文件读写方式分类,可以顺序与文件一起访问。
8 .若设定以下的结构体变量xx的定义,则公式sizeof(xx )的值为_ _ _ _ _ _。
结构
{ long num;
char name[20];
union{float y; 短z; ( yz;
( xx;
二.选题
题号 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
答案 |
|
|
|
|
|
|
|
|
|
|
题号 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
答案 |
|
|
|
|
|
|
|
|
|
|
1 .设置定义int x=8,y,z; y=z=x,x=y=z; 语句之后,变量x的值为( c )
a、0 B、1 C、8 D和9
2 .这包括以下步骤
main ( ) )
{ int i=1,j=1,k=2;
if(jk ) I ) printf(\’%d,%d,%d(n ),I,j,k ); () ) ) ) )。
执行后的输出结果为( c )
a、1、1、2b、2、2、1c、2、2、2d、2、2、3
3 .已知I、j、k是int型变量。 如果从键盘输入1、2、3回车,使得I的值为1,j的值为2,k的值为3,则在以下选项中正确的输入语句为( c )
a、Scanf(「—-”、I、j、k );
b、scanf (“% d % d % d % d”、I、j、k );
c、scanf(「%d,%d,%d”,I,j,k );
d、scanf(「I=%d,j=%d,k=%d”,I,j,k );
4 .这包括以下步骤
main ( ) )
{ int a=5,b=4,c=3,d=2;
if(ABC ) printf(\’%d\\n \’,d ); ab为真,返回值1
ELSEif((C-1=D )=1) printf ) \’ %D\\n \’,d 1 );
ELSEprintf(\’%d\\n \’,d 2 );
}执行后的输出结果为( b )
A、2 B、3 C、4 D,编译时有错误,没有结果
5 .以下方框( c ) )。
x=1;
do { x=x*x; } while (! x;
a .死循环b,循环执行2次
循环执行一次c、d,存在语法错误
6 .无法正确定义二维数组的以下选择是( c )
a、int a[2][2]={{1},{2}; b、inta [ ] [2]={ 1,2,3,4 };
c、int a[2][2]={{1},2,3 }; d、inta [2] [ ]={ 1,2 }、{ 3,4 };
7 .这包括以下步骤
main ( ) )
{ intaa [4] [4]={ 1,2,3,4 }、{ 5,6,7,8 }、{ 3,9,10,2 }、{ 4,2,9,6 };
int i,s=0;
for(I=0; i4; I ) s=aa[i][1];
printf(「%d\\n”,s );
() ) ) ) )。
执行程序后的输出结果为( b )
a、11 B、19 C、13 D和20
8 .以下程序的输出结果为( b )
main ( ) )
{ char ch[3][5]={\’AAAA \’、\’ BBB \’、\’ CC\’};
printf(((%s ( ) ) n ),ch[1] );
() ) ) ) )。
a、\’ AAAA\’ B、\’ BBB\’ C、\’ BBBCC\’ D、\’ CC \’
9 .这包括以下步骤
#definef(x ) x*x
main ( ) )
{ int i;
I=f(4)/f (2);
printf(“%d\\n \”,I );
执行后的输出结果为( a )4*4)4/2)2)
a、28 B、22 C、16 D和4
10 .决定c语言中函数返回值的类型是。
a、return语句的表达式类型
b、调用此函数的主调函数类型
c、调用函数时临时指定的类型
d,定义函数时在函数开头指定的类型。
11 .系统对预处理指令的处理时机为。
a、编译源程序b,编译源程序前
c、连接对象文件时d、执行程序时
12 .在位运算中,操作数每左移一位,结果如下
a、操作数乘以2
c、操作数除以2
b、操作数除以4
d,操作数乘以4
13 .以下说明中不正确的是。
a、可以在字符类型数组中存储字符串
b .可以进行字符型数组整体的输入输出
C、可以对整个整数数组进行输入、输出
d、无法在赋值语句中用赋值运算符“=”给整个字符类型数组赋值
14 .在有以下定义int a[2][3]的情况下,对a阵列第I行第j列元素的正确参考是( a )
a、* ( ) ( a i ) j ) b、) a i ) [j]
c,*(aIj ) d,*(aIj ) j
15 .这包括以下步骤:
voidfun(char*a,char *b ) ) )。
{ a=b; ( a ); () ) ) ) )。
main ( ) )
{ char c1=\’A \’,c2=\’a \’,*p1,*p2;
p1=c1; p2=c2;
fun(P1,p2);
printf(%c%c(n ),c1,c2 );
() ) ) ) )。
执行程序后的输出结果为( a )
a、Ab
b、aa
c、Aa
d、Bb
16 .定义了以下函数
fun(char*P2,char * p1 ) ) ) ) ) )。
{while ( ) P2=) P1 )!=\’ \\0 \’ ) { p1; p2; }
函数Fun的功能是( a )
a、将p1所指的字符串复制到p2所指的存储器空间
b、向指针p2分配p1所指字符串的地址
比较c、p1和p2这两个指针所指的字符串
检查d、p1和p2两个指针指向的字符串中是否有“\\0”
17 .结构类型包括:
struct st
{ char name[8];
int num;
float s[4];
}student[50];
另外,结构体排列student内的要素已经有值,为了将这些要素写入硬盘文件fp,以下的非法形式为( c )
a、fwrite(student,sizeof ) structST )、50、fp );
b、fwrite(student,50*sizeof ) structST )、1、fp );
c、fwrite(student,25*sizeof ) structST )、25、fp );
d、for(I=0; i50; I )
write(studentI,sizeof ) structST ),1,fp );
18 .如有解释性声明
char a[ ]=\’It is mine \’;
char *p=\’ It is mine \’;
以下不正确的记述是
a、a 1表示字符t地址
b、p指另一个字符串时,字符串的长度没有限制
c、p变量中保存的地址值可以变更
D、a只能存储10个字符
19 .调用函数时,如果实参是数组名,则传递给函数的是( b )
a .排列长度
b、数组的起始地址
c、数组各元素的地址
d、数组中每个元素的值
20 .变量说明设置int a=3、b=6; char c; 当执行赋值语句c=(a^b ) 2时;
C的二进制值为。
a、00011101 B、00000111 C、00000001 D和00010100
c=a^b2 ^ (按位异或)优先顺序为9 )左移)优先顺序为5,所以首先执行左移,然后设异或b=6,将6按位左移的二进制数为0000 0110,左移后的0001100 a=
三.阅读程序,并将执行结果写在每个问题的右边空白处
1.#include stdio.h
main ( ) )
{ char str[]=\’1234567 \’;
int i;
for(I=0; i7; i=3)
printf(%s(n ),str i ); 1 4 7
() ) ) ) )。
2.#include stdio.h
main ( ) )
{ int i;
for(I=0; i3; I )
开关( I ) )。
{case0:printf(\’%d \’,I ); 021
case2:printf(\’%d”,I );
dfault:printf(\’%d \’,I );
() ) ) ) )。
() ) ) ) )。
3.#include stdio.h
main ( ) )
{
int i;
for(I=1; i6; I )
{
if(I%2) {
printf(\’# \’;
连续; } #*#*#*
打印( * );
() ) ) ) )。
打印( ( n );
() ) ) ) )。
4.#include stdio.h
int b=1;
是函数( intp )
{
静态输入d=5;
d=p;
printf(\’%d,\’,d );
return(d;
() ) ) ) )。
main ( ) )
{
int a=3;
printf(%d(n ),func ) afunc ) b ); 6 15 15
() ) ) ) )。
5.#include stdio.h
struct stu
{ int num; char name[10]; int age; (;
voidpy(structstu*p ) )
{printf(%s(n ),) p ).name ); () ) ) ) )。
main ( ) )
{
Struct stu student[3]={{1001,\’ Sun \’,25}、{1002,\’ Ling \’,23}、{1003,\’ Shen \’,22};
py(student2;
} Shen
四.阅读程序或程序段,填空
1 .以下程序的功能是调用fun函数删除字符串中指定的字符。 请填写空栏。
voidfun(chars[],int c ) )。
{ int i,j;
for(I=0,j=0; s[i]!=\’\\0 \’; I )
if(s[I]!=c ( ) {s[i]=s[j]; j; () ) ) ) )。
s[j]=\’\\0 \’;
() ) ) ) )。
main ( ) )
{ char str[]=\’abcdefgAbcd \’,ch;
scanf(\’%c \’,ch );
fun(str,ch );
printf(%s(n ),str );
() ) ) ) )。
2 .下一步是按学生姓名调查排名和平均成绩,输入0可以一直调查到结束。 请填写空栏。
#includestring.h
#define NUM 4
struct student
{ int rank;
char *name;
浮动比例; (;
Struct student stu[]={3,\” Tom \”,89.3,4,\” Mary \”,78.2,1,\” 1,\” Jack \”,95.1,2,\” 2,\” Jim \”,90.6};
main ( ) )
{ char str[10]; int i;
do
{printf(\’enteraname:\’ );
scanf(\’%s”,str );
for(I=0; iNUM; I )
if(str==stu[I].name )
{printf(\’%s,%d,%f\\n \’,stu[i].name,stu[i].rank,stu[i].score ); 黑; () ) ) ) )。
if(I=num ) printf(\’notfound\\n \’ );
}while(strcmp(str,“0”)!=0;
() ) ) ) )。
3 .以下过程使用“按顺序搜索”方法在数组中搜索元素。 请填写空栏。
main ( ) )
{ inta [8]={ 25,57,48,37,12,92,86,33 };
int i,x;
scanf(\’%d \’,x );
for(I=0; i8; I )
if(a(I )==x ) ) )
{printf(found! The index is :%d\\n \’,I; 黑; () ) ) ) )。
if(I==x ) )。
printf (“can’t found! ();
() ) ) ) )。
4 .以下程序从键盘输入几个字符,一个接一个发送到磁盘文件: \”! 在输入“”之前,请填写空栏。
#includestdio.h
main ( ) )
{ FILE *fp;
char ch,fname[10];
打印( inputnameoffile:\\ n ); gets(fname;
if ( ) FP=fopen(fname,\’ w \’ ) ) (==NULL ) ) )。
{printf(cannotopen(n ); 退出( 0; () ) ) ) )。
打印( enter data ( n ) );
威尔( ch!=! ’) fputc(ch,fp );
flose(FP );
5 .以下函数fun的功能是,使字符串s中下标为奇数的字符立即重复出现,并放在新字符串t中。 例如,如果s中的字符串是\’ ABCDEF \’,则t中的字符串必须是\’ BBDDFF \’。
#includestring.h
voidfun(char*s,char *t ) ) )。
{ int i,j;
for(I=0; I=Strlen(s; I )
{if(I%2==1) )
{
j=i-1;
t[j]=s[i];
t[ j]=s[i]; () ) ) ) )。
() ) ) ) )。
() ) ) ) )。
main ( ) )
{ char s[100],t[100];
scanf(\’%s \’,s );
fun(s,t );
printf(theresultis:%s\\n ),t );
() ) ) ) )。
五.程序设计问题
1 .编写按相反顺序存储输入字符串的程序。 在主函数中输入字符串并输出相反顺序的字符串,要求用被调用的函数完成相反顺序的存储。 例如,输入字符串\” abcdefg \”,然后输出\” gfedcba \”。
#includestdio.h
#includestring.h
voidchan(charx[] ) ) ) )。
{
int i,len=Strlen(x;
char a;
for(I=0; ilen/2; I )
{
a=x[i];
x[i]=x[len-i-1];
x[len-i-1]=a;
() ) ) ) )。
() ) ) ) )。
int main ( ) )
{
char f[100];
scanf(\’%s \’,f );
Chan(f );
printf(%s(n ),f );
返回0;
() ) ) ) )。
2 .某班有五名学生,分别学习四门课,找出一门以上课程不及格的学生,打印其所有课程的成绩。
#includestdio.h
main ( ) )
{
int i,j,flag=0;
int score [5] [4]={ 56,69,56,89 }、{ 89,88,79,85,96,78 }、{ 66,65,52,66 }、{88}
for(I=0; i5; I )
{
for(j=0; j4; j )
{
if(score[I][j]60 ) flag=1;
if(flag==1) )。
{
printf((n ) D位的同学取得了不合格的成绩) n )、i 1 );
for(j=0; j4; j )
printf(\’%d \’,score[i][j] );
() ) ) ) )。
flag=0;
() ) ) ) )。
() ) ) ) )。
返回0;
() ) ) ) )。
自考资料网:建议开通永久VIP超级会员更划算,除特殊资源外,全站所有资源永久免费下载
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的经验或案例,可在后台编辑,经审核后发布在“自考资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系管理员处理(在线客服)!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!