c程序員筆試題
程序員是從事程序開發、維護的專業人員。一般將程序員分為程序設計人員和程序編碼人員,但兩者的界限并不非常清楚,特別是在中國。軟件從業人員分為初級程序員、高級程序員、系統分析員,系統架構師,測試工程師五大類。今天小編為大家精心準備的是:c程序員面試相關筆試題。具體內容如下,歡迎參考閱讀:
C/C++筆試測試題
一、 填空題(20分)
1. 已知下列變量,請計算該變量大小:
short (*a)[100];
short *b[100];
那么 sizeof(a[0])等于___, sizeof(b[0])等于___
2. char *b = “abcd”;
那么sizeof(b) 等于___, strlen(b) 等于____
3. short a[5][3];
從本質上看,a是由____個元素組成的一維數組,這個一維數組的每個元素本身又是由___個short類型整數組成的一維數組;sizeof(a[0])等于_____
4. 表達式 1<<1 + 1的值等于____. 表達式 1 < 2 | 4的值等于_____.
5. define A(x) x+x; int i = 5*A(5); i =______
二、 簡答題(25分)
1、static有什么用途?(請至少說明兩種)
2、關鍵字const是什么含意?
3、對于一個頻繁使用的短小函數,在C語言中應用什么實現,在C++中應用什么實現?
4、局部變量能否和全局變量重名?
5、頭文件中的 ifndef/define/endif 干什么用?
6、include
7、簡單描述一下C和C++有什么不同?
8、引用與指針有什么區別?
三、 程序分析(25分)
1、請寫出下列代碼的輸出內容
include "stdio.h"
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
return 0;
}
2、程序填空
函數long fun2(char*str)的功能是:自左至右順序取出非空字符串str中的數字字符形成一個十進制整數(最多8位)。
例如,若字符串str的值為"f3g8d5.ji2e3p12fkp",則函數返回值為3852312。
long fun2(char *str)
{
int i=0;
long k=0;
char *p=str;
while (*p != &39;\0&39; && ( 1 ) )
{
if(*p >=&39;0&39;&& *p <=&39;9&39;)
{
k= 2 +*p-&39;0&39;;
++i;
}
3 ;
}
return k;
}
3、寫出下列程序的輸出結果
int f(int x ,int y)
{
int r;
if(y==1) r=x;
else r=f(x,y-1)+x;
return r;
}
main()
{
int a=7,b=6;
printf("%d",f(a,b));
}
4、指出程序中的錯誤
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
str1[i] = &39;a&39;;
strcpy( string, str1 );
}
5、請問運行Test函數會有什么樣的結果?
void Test(void)
{
char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) {
}
四、 編程(30分)
1、編寫函數,從src中拷貝count字節到dest中。
void* mystrcpy( char *dest, const char *src, int count )
strcpy(str, “world”); printf(str); }
(以下試題二選一)
2、編寫函數,計算輸入的日期是本年第幾天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)
3、編寫一個金額類{符號,整數部分,小數部分},實現金額的加法、減法功能