- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C笔试题(新)C笔试题(新)
姓名: 日期:
选择题
1,若有以下定义数组并初始化错误语句( A ).
char a[10]={0,1,2,3,4,5,6,7,8,9};
A) scanf(%c,a[0]);
B) scanf(%s,a);
C) printf(%c,a[3]);
D) printf(%s,a);
2,以下程序输出结果为( )
#include stdio.h
main()
{
int i,b,k=0;
for(i=1;i=5;i++)
{
b=i%2;
while (b--=0) k++;
}
printf(%d,%d\n,k,b);
}
A. 3,-1 B. 8,-1 C. 3,0 D. 8,-2
3,根据if比较语句,顺序给出VAR的类型。( )
if(!var)
if(var==NULL)
if(var==0)
if ((var = - 0.00001) (var = 0.00001)
A. int B. BOOL C. float D. 指针
4,以下正确的描述是( )。
A) continue语句的作用是结束整个循环的执行
B) 只能在循环体内和switch语句内使用break语句
C) 在循环体内使用break语句或continue语句的作用相同
D) 从多层循环嵌套中退出时,只能使用goto语句
E) break 语句不能用于循环语句和switch语句外的任何其他语句
F) 在switch语句中使用break语句或continue语句的作用相同
G) 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行
H) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
5,假定在32位机器上设有以下说明和定义:
typedef union
{
long i;
int k[5];
char c;
} DATE;
struct data
{
int cat;
DATE cow;
double dog;
} too;
DATE max;
则语句 printf(%d,sizeof(struct data)+sizeof(max));的执行结果是:( )。
A. 32 B. 48 C. 52 D. 64
6,下面程序输出是( )
#include stdio.h
main ( )
{
char *a=1234;
fun(a);
printf(\n);
}
fun ( char *s)
{ char t;
if(*s) {t = *s++; fun(s); }
if(t !=\0) putchar( t );
}
A) 1234 B) 4321 C)1324 D) 4231
问答及找错
1,写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个。
#define MIN(A,B) ((A) = (B) (A) : (B))
2,关键字static的作用是什么?程序运行结果在C语言中,关键字static有三个明显的作用:1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。int sum(int a){auto int c=0;static int b=3;c+=1;b+=2;return(a+b+c);}
void main(){int I;int a=2;for(I=0;I5;I++){printf(%d,, sum(a));}}
答案: 8,10,12,14,16,int main()
{
char a;
char *str=a;
strcpy(str,hello);
printf(str);
return 0
文档评论(0)