`

C语言程序设计 自测题

阅读更多

[单选题]

11、有以下程序
#include <string.h>
main(int argc,char *argv[])
{int i,len=0;
for(i=1;i<argc;i++) len+=strlen(argv[i]);
printf("%d\n",len);
}
程序编译连接后生成的可执行文件是ex1.exe,若运行时输入带参数的命令行是:
ex1 abcd efg 10↙
则运行的结果是______。
A、22
B、17
C、12
D、9
12、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。
A、3*x^n/(2*x-1)
B、3*x**n/(2*x-1)
C、3*pow(x,n)*(1/(2*x-1))
D、3*pow(n,x)/(2*x-1)
13、有以下程序
#include <stdlib.h>
struct NODE
{int num; struct NODE *next; }
main()
{struct NODE *p,*q,*r;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=10;q->num=20;r->num=30;
p->next=q;q->next=r;
printf("%d\n",p->num+q->next->num);
}
程序运行后的输出结果是______。
A、10
B、20
C、30
D、40
14、有以下程序
struct STU
{char num[10]; float score[3]; }
main()
{struct STU s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}},*p=s;
int i; float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
printf("%6.2f\n",sum);
}
程序运行后的输出结果是______。
A、260.00
B、270.00
C、280.00
D、285.00
15、以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序。
void sort(int a[],int n)
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++) printf("%d,",aa[i]);
printf("\n");
}
程序运行后的输出结果是______。
A、1,2,3,4,5,6,7,8,9,10,
B、10,9,8,7,6,5,4,3,2,1,
C、1,2,3,8,7,6,5,4,9,10,
D、1,2,10,9,8,7,6,5,4,3,
16、有以下程序
void ss(char *s,char t)
{while(*s)
{if(*s==t) *s=t-'a'+'A';
s++;
}
}
main()
{char str1[100]="abcddfefdbd",c='d';
ss(str1,c); printf("%s\n",str1);
}
程序运行后的输出结果是______。
A、ABCDDEFEDBD
B、abcDDfefDbD
C、abcAAfefAbA
D、Abcddfefdbd
17、程序中头文件type1.h的内容是:
#define N 5
#define M1 N*3
程序如下:
#include "type1.h"
#define M2 N*2
main()
{int i;
i=M1+M2; printf("%d\n",i);
}
程序编译后运行的输出结果是______。
A、10
B、20
C、25
D、30
18、有以下程序
main()
{int a=15,b=21,m=0;
switch(a%3)
{case 0:m++;break;
case 1:m++;
switch(b%2)
{default:m++;
case 0:m++;break;
}
}
printf("%d\n",m);
}
程序运行后的输出结果是______。
A、1
B、2
C、3
D、4
19、以下非法的赋值语句是______。
A、n=(i=2,++i);
B、j++;
C、++(i+1);
D、x=j>0;
20、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______。
A、6
B、0
C、2
D、1
21、以下叙述中错误的是______。
A、二进制文件打开后可以先读文件的末尾,而顺序文件不可以
B、在程序结束时,应当用fclose函数关闭已打开的文件
C、利用fread函数从二进制文件中读数据,可以用数组名给数组中所有元素读入数据
D、不可以用FILE定义指向二进制文件的文件指针
22、有以下程序
#include <stdlib.h>
main()
{char *p,*q;
p=(char *)malloc(sizeof(char)*20); q=p;
scanf("%s%s",p,q); printf("%s%s\n",p,q);
}
若从键盘输入:abc def↙,则输出结果是______。
A、def def
B、abc def
C、abc d
D、d d
23、若有以下程序:
main()
{int k=2,i=2,m;
m=(k+=i*=k); printf("%d,%d\n",m,i);
}
执行后的输出结果是______。
A、8,6
B、8,3
C、6,4
D、7,4
24、有以下程序
#include <string.h>
main()
{char *p="abcde\0fghjik\0";
printf("%d\n",strlen(p));
}
程序运行后的输出结果是______。
A、12
B、15
C、6
D、5
25、有以下程序
main()
{unsigned char a,b,c;
a=0x3; b=a|0x8; c=b<<1;
printf("%d%d\n",b,c);
}
程序运行后的输出结果是______。
A、-11 12
B、-6 -13
C、12 24
D、11 22
26、以下选项中,与k=n++完全等价的表达式是_______。
A、k=n,n=n+1
B、n=n+1,k=n
C、k=++n
D、k+=n+1
27、有以下程序
int a=3;
main()
{int s=0;
{int a=5; s+=a++; }
s+=a++; printf("%d\n",s);
}
程序运行后的输出结果是_______。
A、8
B、10
C、7
D、11
28、以下程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
#include <string.h>
void f(char p[][10],int n)
{ char t[20]; int i,j;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if(strcmp(p[i],p[j])<0)
{ strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}
}
main()
{char p[][10]={"abc","aabdfg","abbd","dcdbe","cd"};int i;
f(p,5); printf("%d\n",strlen(p[0]));
}
程序运行后的输出结果是______。
A、6
B、4
C、5
D、3
29、设有如下定义:
struct sk
{int a;
float b;
}data;
int *p;
若要使p指向data中的a域,正确的赋值语句是______。
A、p=&a;
B、p=data.a;
C、p=&data.a;
D、*p=data.a
30、以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{int n,k;
float score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{for(k=1;k<=4;k++)
{scanf("%f",&score); sum+=score;}
ave=sum/4.0;
printf("NO%d:%f\n",n,ave);
}
}
上述程序运行后结果不符合题意,是因为其中有一条语句置于程序中的位置错误,这条语句是______。
A、sum=0.0;
B、sum+=score;
C、ave=sum/4.0;
D、printf("NO%d:%f\n",n,ave);
31、有以下程序:
float fun(int x,int y)
{return(x+y); }
main()
{int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));
}
程序运行后的输出结果是______。
A、编译出错
B、9
C、21
D、9.0
32、以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。
void reverse(int a[],int n)
{int i,t;
for(i=0;i<n/2;i++)
{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{int b[10]={1,2,3,4,5,6,7,8,9,10}; int i,s=0;
reverse(b,8);
for(i=6;i<10;i++) s+=b[i];
printf("%d\n",s);
}
程序运行后的输出结果是______。
A、22
B、10
C、34
D、30
33、以下选项中合法的用户标识符是______。
A、long
B、_2Test
C、3Dmax
D、A.dat
34、有以下程序
main()
{char a[]={'a','b','c','d','e','f','g','h','\0'}; int i,j;
i=sizeof(a); j=strlen(a);
printf("%d,%d\n",i,j);
}
程序运行后的输出结果是______。
A、9,9
B、8,9
C、1,8
D、9,8
35、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。
A、printf("x=%d\n",x);
B、printf("x=%ld\n",x);
C、printf("x=%8dL\n",x);
D、printf("x=%LD\n",x);
36、有以下程序
#include <stdio.h>
main()
{FILE *fp; int i=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n); printf("%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是_____。
A、20 30
B、20 50
C、30 50
D、30 20
37、若有以下说明和定义:
typedef int *INTEGER;
INTEGER p,*q;
以下叙述正确的是______。
A、p是int型变量
B、p是基类型为int的指针变量
C、q是基类型为int的指针变量
D、程序中可用INTEGER代替int类型名
38、有以下程序
int f(int n)
{if (n==1) return 1;
else return f(n-1)+1;
}
main()
{int i,j=0;
for(i=1;i<3;i++) j+=f(i);
printf("%d\n",j);
}
程序运行后的输出结果是______。
A、4
B、3
C、2
D、1
39、有以下程序
main()
{int aa[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;i<4;i++) s+=aa[i][1];
printf("%d\n",s);
}
程序运行后的输出结果是______。
A、11
B、19
C、13
D、20
40、以下叙述中正确的是______。
A、构成C程序的基本单位是函数
B、可以在一个函数中定义另一个函数
C、main()函数必须放在其它函数之前
D、所有被调用的函数一定要在调用之前进行定义



[填空题]
6、下面程序的运行结果是______。
void swap(int *a,int *b)
{int *t;
t=a;a=b;b=t;
}
main()
{int x=3,y=5,*p=&x,*q=&y;
swap(p,q);
printf("%d%d\n",*p,*q);
}
7、函数sstrcmp()的功能是对两个字符串进行比较。当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。请填空。
#include <stdio.h>
int sstrcmp(char *s,char *t)
{while(*s&&*t&&*s==______)
{s++;t++; }
return ______;
}
8、若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为"读"而打开此文件:fp=fopen(______);。
9、fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回。请填空。
#include <stdio.h>
#define N 100
int fun(int(*a)[N])
{int row,col,max,min;
for(row=0;row<N;row++)
{for(max=a[row][0],col=1;col<N;col++)
if(______) max=a[row][col];
if(row==0) min=max;
else if(______) min=max;
}
return min;
}

10、以下程序运行后的输出结果是______。
main()
{int x=15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
else continue;
}
printf("%d\n",x);
}
11、下面程序的运行结果是:______。
typedef union student
{char name[10];
long sno;
char sex;
float score[4];
}STU;
main()
{STU a[5];
printf("%d\n",sizeof(a));
}

12、有以下程序:
#include <stdio.h>
main()
{char c;
while((c=getchar())!='?') putchar(--c);
}
程序运行时,如果从键盘输入:Y?N?↙,则输出结果为______。
13、以下程序运行后的输出结果是______。
void fun(int x,int y)
{x=x+y;y=x-y;x=x-y;
printf("%d,%d,",x,y);}
main()
{int x=2,y=3;
fun(x,y);
printf("%d,%d\n",x,y);
}

分享到:
评论

相关推荐

    二级C语言程序设计自测系统

    【标题】"二级C语言程序设计自测系统"是一个专为C语言学习者设计的模拟考试平台,旨在帮助用户在完成C语言的学习后,通过实际操作来检验自己的掌握程度,进行有效的自我评估和复习。 【描述】这个系统提供了一种...

    《C语言程序设计》课后习题参考答案

    在“《C语言程序设计》课后习题参考答案.doc”文档中,你可以找到每一题的详细解答,包括但不限于以下几个方面: 1. 变量与数据类型:理解C语言中的基本数据类型,如int、char、float、double,以及如何声明、初始...

    《C语言程序设计》课程习题答题、考试答题和评阅工具

    《C语言程序设计》是计算机科学领域一门基础且至关重要的课程,主要教授如何使用C语言进行程序开发。这个课程习题答题、考试答题和评阅工具的出现,为学习者提供了一个高效、自动化的辅助平台,帮助他们更好地理解和...

    C语言程序设计(郑莉)课后习题答案.doc

    "C语言程序设计(郑莉)课后习题答案" 本资源是郑莉编写的《C语言程序设计》课后习题答案,包含了计算机程序设计语言的发展历程、面向对象的编程语言、结构化程序设计方法、对象和面向对象方法、封装、面向对象的软件...

    c语言程序设计_第3版_何钦铭_课后答案.pdf

    根据给定的文件信息,以下是C语言程序设计相关的知识点概述: 首先,文件标题“c语言程序设计_第3版_何钦铭_课后答案.pdf”表明此文档是C语言教科书《C语言程序设计》第三版的课后习题答案集,何钦铭编写。这个文档...

    C语言程序设计(PDF格式)

    第1章 程序设计与算法 1 1.1 程序设计语言的发展 1 1.2 C语言的特点 2 1.2.1 C语言是中级语言 2 1.2.2 C语言是结构化语言 3 1.2.3 C语言是程序员的语言 3 1.3 C语言的程序结构 4 1.3.1 基本程序结构 4 1.3.2 函数库...

    C语言程序的设计基础.pdf

    本资料主要涵盖了C语言程序设计的基础知识,包括程序设计语言的基本概念、C语言程序的基本结构、基本数据类型、运算符与表达式等方面。 1. 程序设计语言的基本概念: - 程序:一组按照特定规则组织的指令集合,...

    C语言程序设计实验与习题指导同步自测答案.doc

    C语言程序设计实验与习题指导同步自测答案.doc

    C语言程序设计实验及习题指导同步自测答案.doc

    C语言程序设计实验及习题指导同步自测答案.doc

    C语言课程设计练习题及答案

    "C语言课程设计练习题及答案"提供了全面的练习题目,涵盖了C语言程序设计的基础到高级概念,帮助学习者深入理解并熟练掌握C语言的核心知识点。这份资料包含的两个文档——"C语言练习题册.doc"和"C语言练习题册参考...

    C语言程序设计实验与习题指导同步自测答案.pdf

    标签:C语言程序设计、实验与习题指导、同步自测答案 部分内容: 1. 选择题:该部分包括了多个选择题,涵盖了 C 语言程序设计的基础知识,如变量、数据类型、运算符、控制结构、函数等。 2. 填空题:该部分包括了...

    谭浩强--C语言程序设计(第二版)习题答案

    《谭浩强--C语言程序设计(第二版)习题答案》是一本为学习C语言者提供的重要参考资料,尤其适合正在使用谭浩强教授编著的《C语言程序设计(第二版)》教材的学生和自学者。这本书包含了教材中所有习题的详细解答,...

    二级C语言程序设计题库.zip

    【标题】"二级C语言程序设计题库.zip"是一个压缩文件,其中包含了针对国家二级C语言程序员考试的练习题目和可能的模拟试题。这个题库是备考者进行深入学习和复习的重要资源,旨在帮助考生熟悉考试格式,提高编程技能...

    C语言程序设计第二章习题参考答案

    在C语言程序设计的学习过程中,第二章通常会涵盖基础语法和基本编程概念。这份"第二章习题参考答案"提供了对这些概念的实践应用解析,旨在帮助学习者巩固理论知识,提升编程技能。以下是根据标题、描述和标签提取的...

    C语言程序设计(第四版) 谭浩强著 高清晰版.PDF

    《C语言程序设计(第四版)》是谭浩强先生的经典著作,这本教材自出版以来,一直受到广大计算机学习者的热烈欢迎。本书是C语言学习的重要参考资料,它以其深入浅出、实例丰富的特点,帮助无数初学者迈入了编程的大门...

    c语言程序设计自测练习二.doc

    C语言程序设计自测练习主要涵盖了函数的使用、参数传递、字符串操作、常量定义、宏定义、编译过程以及存储类等多个知识点。下面是这些知识点的详细解释: 1. 函数调用:函数可以出现在表达式中、执行语句中,也可以...

    c语言程序设计语法

    《C语言程序设计语法详解》 C语言,作为一门经典的编程语言,自1972年由丹尼斯·里奇在贝尔实验室开发以来,一直深受程序员的喜爱。它以其高效性、灵活性以及对硬件的直接访问能力著称,成为系统级编程、嵌入式系统...

    最新c语言程序设计软件

    "最新C语言程序设计软件"通常指的是支持C语言编译、调试和代码编辑的集成开发环境(IDE),这样的软件能够帮助程序员更高效地进行C语言的程序开发。 首先,我们要理解C语言的基础知识。C语言的核心在于其预处理器、...

    C语言程序设计 测试题一

    C语言程序设计 测试题一,本题主要用于学位考试自测,后续还有模拟试题(2套).本题还可以作为等级考试模拟.答案可以参考http://blog.csdn.net/cnlht的相关回复.

Global site tag (gtag.js) - Google Analytics