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